Memisahkan ArrayList kepada Subsenarai yang Lebih Kecil
Di Java, struktur data ArrayList menyediakan cara yang mudah untuk menyimpan koleksi objek dengan cekap. Kadangkala, ia menjadi perlu untuk membahagikan ArrayList kepada beberapa subsenarai yang lebih kecil dengan saiz yang ditentukan. Artikel ini meneroka cara untuk mencapai ini dengan berkesan.
Menggunakan subList() untuk Pandangan Tidak Boleh Berubah
Kaedah subList() membolehkan anda membuat paparan sebahagian daripada ArrayList . Subsenarai yang terhasil tidak boleh diubah, bermakna ia tidak boleh diubah suai.
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);
Selepas mencipta subsenarai, sebarang perubahan yang dibuat pada ArrayList asal akan ditunjukkan dalam subsenarai. Sebaliknya, pengubahsuaian kepada subsenarai tidak akan menjejaskan ArrayList asal.
Mencipta Subsenarai Boleh Ubah
Jika anda memerlukan subsenarai boleh ubah, cipta ArrayList baharu daripada paparan subList().
List<Integer> newHead = new ArrayList<>(head);
Fungsi Cincang untuk Pembahagian Yang Mudah
Untuk situasi di mana berbilang subsenarai diperlukan, pertimbangkan untuk mencipta fungsi utiliti seperti berikut:
static <T> List<List<T>> chopped(List<T> list, final int L) { List<List<T>> parts = new ArrayList<>(); 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; }
Fungsi ini mengambil ArrayList dan panjang subsenarai yang diingini sebagai parameter dan mengembalikan senarai subsenarai.
Contoh Penggunaan
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]]"
Kesimpulan
Dengan memanfaatkan kaedah subList() dan fungsi utiliti yang dibincangkan dalam artikel ini, anda boleh memisahkan ArrayList dengan berkesan kepada beberapa subsenarai yang lebih kecil, menyesuaikan dengan keperluan pengaturcaraan khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan ArrayList kepada Subsenarai yang Lebih Kecil di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!