Rumah > Java > javaTutorial > Bagaimana untuk membahagikan ArrayList kepada beberapa ArrayList yang lebih kecil di Jawa?

Bagaimana untuk membahagikan ArrayList kepada beberapa ArrayList yang lebih kecil di Jawa?

Barbara Streisand
Lepaskan: 2024-11-25 03:22:11
asal
289 orang telah melayarinya

How to split an ArrayList into multiple smaller ArrayLists in Java?

Memisahkan ArrayList kepada Berbilang ArrayLists yang Lebih Kecil dalam Java

Di Java, memisahkan ArrayList kepada berbilang ArrayList yang lebih kecil daripada saiz yang ditentukan memerlukan penyelesaian yang membolehkan pembahagian yang cekap dan berpotensi mencipta bukan paparan subsenarai.

Menggunakan subList()

Satu pendekatan ialah menggunakan kaedah subList(int fromIndex, int toIndex) untuk mendapatkan paparan sebahagian daripada senarai asal . Kaedah ini tidak mencipta senarai baharu tetapi sebaliknya memberikan rujukan kepada segmen dalam ArrayList sedia ada.

Contoh:

List<Integer> numbers = new ArrayList<>(Arrays.asList(5,3,1,2,9,5,0,7));

List<Integer> head = numbers.subList(0, 4);
List<Integer> tail = numbers.subList(4, 8);

System.out.println(head); // prints "[5, 3, 1, 2]"
System.out.println(tail); // prints "[9, 5, 0, 7]"
Salin selepas log masuk

Mencipta Bukan- Lihat Subsenarai

Walau bagaimanapun, jika anda memerlukan senarai yang dicincang menjadi bebas dan bukan pandangan daripada senarai asal, anda boleh membuat ArrayList baharu daripada subList.

Contoh:

// chops a list into non-view sublists of length L
static <T> List<List<T>> chopped(List<T> list, final int L) {
    List<List<T>> parts = new ArrayList<>();
    final int N = list.size();
    for (int i = 0; i < N; i += L) {
        parts.add(new ArrayList<>(list.subList(i, Math.min(N, i + L))));
    }
    return parts;
}

List<Integer> numbers = Collections.unmodifiableList(Arrays.asList(5,3,1,2,9,5,0,7));
List<List<Integer>> parts = chopped(numbers, 3);

System.out.println(parts); // prints "[[5, 3, 1], [2, 9, 5], [0, 7]]"
parts.get(0).add(-1);
System.out.println(parts); // prints "[[5, 3, 1, -1], [2, 9, 5], [0, 7]]"
System.out.println(numbers); // prints "[5, 3, 1, 2, 9, 5, 0, 7]" (unmodified!)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk membahagikan ArrayList kepada beberapa ArrayList yang lebih kecil di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan