Memisahkan ArrayList kepada Berbilang Subsenarai
Di Java, anda boleh membahagikan ArrayList dengan cekap kepada subsenarai yang lebih kecil dan bersaiz sama. Ini berguna dalam senario di mana anda perlu memproses atau mengurus data dalam ketulan bersaiz gigitan.
Menggunakan subList() untuk Mencipta Views
Kaedah subList() bagi kelas ArrayList membolehkan anda mendapatkan paparan sebahagian daripada senarai asal dalam julat yang ditentukan. Panggilan ke subList() tidak membuat senarai baharu tetapi mengembalikan paparan ke dalam senarai sedia ada. Sebarang perubahan yang dibuat pada subsenarai ditunjukkan dalam senarai asal dan begitu juga sebaliknya.
List<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7)); List<Integer> head = numbers.subList(0, 4); // View from index 0 to index 3 (exclusive) List<Integer> tail = numbers.subList(4, 8); // View from index 4 to index 7 (exclusive)
Mencipta Subsenarai Bukan Lihat
Jika anda memerlukan subsenarai itu bebas daripada senarai asal, anda boleh mencipta objek ArrayList baharu secara eksplisit daripada paparan subsenarai.
List<List<Integer>> chopped = new ArrayList<>(); for (int i = 0; i < numbers.size(); i += L) { List<Integer> sublist = new ArrayList<>( numbers.subList(i, Math.min(numbers.size(), i + L)) ); chopped.add(sublist); }
Pendekatan ini mencipta salinan dalam subsenarai, memastikan perubahan pada subsenarai yang dicincang tidak menjejaskan senarai asal.
Contoh Penggunaan
Pertimbangkan Senarai integer yang dipanggil nombor yang mengandungi [5, 3, 1, 2, 9, 5, 0, 7]. Anda boleh membahagikan senarai ini kepada tiga subsenarai saiz 3 menggunakan kod berikut:
List<List<Integer>> choppedLists = chopped(numbers, 3);
Pembolehubah choppedLists kini akan mengandungi tiga senarai: [[5, 3, 1], [2, 9, 5] , [0, 7]]. Anda boleh mengubah suai lagi subsenarai ini tanpa mengubah senarai nombor asal.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan ArrayList dengan Cekap kepada Berbilang Subsenarai di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!