Mencari Persimpangan dan Kesatuan ArrayLists di Java
Dalam bekerja dengan ArrayLists, selalunya perlu mencari persimpangan atau gabungan dua atau lebih banyak senarai. Ini boleh berguna untuk tugas seperti menapis fail atau menggabungkan data daripada pelbagai sumber.
Kaedah Persimpangan dan Kesatuan
Java menyediakan beberapa kaedah untuk melaksanakan persilangan dan kesatuan pada ArrayLists:
Kaedah ini mengubah suai ArrayLists asal, yang mungkin tidak diingini dalam semua kes. Sebagai alternatif, anda boleh melaksanakan kaedah anda sendiri untuk mengendalikan persimpangan dan kesatuan tanpa mengubah suai senarai asal:
public static <T> List<T> intersection(List<T> list1, List<T> list2) { List<T> list = new ArrayList<>(); for (T t : list1) { if (list2.contains(t)) { list.add(t); } } return list; } public static <T> List<T> union(List<T> list1, List<T> list2) { Set<T> set = new HashSet<>(); set.addAll(list1); set.addAll(list2); return new ArrayList<>(set); }
Struktur Data Alternatif
ArrayList ialah struktur data boleh ubah yang membolehkan elemen pendua. Untuk operasi set, anda boleh mempertimbangkan untuk menggunakan struktur data yang berbeza:
Dengan memilih struktur data yang sesuai untuk tugas anda, anda boleh mengoptimumkan masa jalan dan penggunaan memori kod anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Persimpangan dan Kesatuan ArrayLists dengan Cekap di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!