Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách đảo ngược mảng số nguyên trong ListView Android

Đảo ngược Integer Array trong Android ListView

Ví dụ này trình bày cách đảo ngược thứ tự các phần tử trong mảng số nguyên và hiển thị lên ListView. Kết hợp Collections.sort() và Collections.reverse().

Bước 1: Tạo dự án mới

Android Studio → File → New Project.

Bước 2: Giao diện (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:layout_marginTop="30dp"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

Bước 3: Code logic (src/MainActivity.java)

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class MainActivity extends AppCompatActivity {

    ListView list;
    int[] array = {2, 5, 6, 8, 0, 7, 9, 4};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        list = findViewById(R.id.list);

        // Chuyển int[] sang ArrayList<String>
        ArrayList<String> arrayList = new ArrayList<>();
        for (int s : array) {
            arrayList.add(String.valueOf(s));
        }

        // Sắp xếp tăng dần
        Collections.sort(arrayList);
        // Đảo ngược thành giảm dần
        Collections.reverse(arrayList);

        // Hiển thị
        ArrayAdapter adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, arrayList);
        list.setAdapter(adapter);
    }
}

Các cách khác để đảo ngược

// Cách 1: Dùng ListIterator (cho List)
ListIterator<String> iterator = arrayList.listIterator(arrayList.size());
while (iterator.hasPrevious()) {
    Log.d("Reverse", iterator.previous());
}

// Cách 2: Java 8 Stream (API 24+)
arrayList.stream()
    .sorted(Comparator.reverseOrder())
    .collect(Collectors.toList());

// Cách 3: Đảo ngược mảng gốc (int[])
for (int i = 0; i < array.length / 2; i++) {
    int temp = array[i];
    array[i] = array[array.length - 1 - i];
    array[array.length - 1 - i] = temp;
}

Chạy ứng dụng

Kết quả ListView hiển thị: 9, 8, 7, 6, 5, 4, 2, 0 (giảm dần).

Cách đảo ngược mảng số nguyên trong ListView Android