Rumah >Java >javaTutorial >Bagaimana untuk Memisahkan Java ArrayList kepada Berbilang ArrayList yang Lebih Kecil?

Bagaimana untuk Memisahkan Java ArrayList kepada Berbilang ArrayList yang Lebih Kecil?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 04:33:02435semak imbas

How to Split a Java ArrayList into Multiple Smaller ArrayLists?

Memisahkan ArrayList kepada Pelbagai ArrayLists yang Lebih Kecil dalam Java

Membahagikan tatasusunan panjang tertentu kepada tatasusunan yang lebih kecil dengan saiz yang telah ditetapkan adalah perkara biasa tugas dalam pengaturcaraan. Apabila berurusan dengan Java ArrayLists, kaedah subList(int fromIndex, int toIndex) terbukti berguna.

Kaedah subList() mencipta paparan sebahagian daripada senarai asal, bermula pada fromIndex yang ditentukan (inklusif) dan berakhir di toIndex (eksklusif). Paparan ini disokong oleh senarai asal.

Untuk menggambarkan penggunaannya, pertimbangkan ArrayList integer:

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

Menggunakan subList(), kita boleh mencipta paparan yang lebih kecil:

List<Integer> head = numbers.subList(0, 4);
System.out.println(head); // Prints: [5, 3, 1, 2]

Untuk mengasingkan senarai kepada subsenarai bukan paparan, kami boleh membuat senarai baharu berdasarkan paparan:

List<List<Integer>> parts = new ArrayList<>();
final int L = 3;
final int N = numbers.size();

for (int i = 0; i < N; i += L) {
    parts.add(new ArrayList<>(list.subList(i, Math.min(N, i + L))));
}

Ini menghasilkan berbilang ArrayList yang lebih kecil. Walau bagaimanapun, pengubahsuaian yang dibuat kepada mana-mana subsenarai akan ditunjukkan dalam senarai asal melainkan kami mencipta versi yang tidak boleh diubah suai.

Sebagai contoh:

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] (unchanged)

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Java ArrayList kepada Berbilang ArrayList yang Lebih Kecil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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