Bersilang dan Menyatukan ArrayList dalam Java
Soalan:
Cara melakukan persilangan dan kesatuan operasi pada ArrayLists di Java? Sambungan kepada soalan adalah mengenai kebolehgunaan ArrayLists untuk penapisan fail dalam konteks teori set.
Jawapan:
ArrayLists tidak menawarkan kaedah terbina dalam untuk persilangan atau kesatuan. Pelaksanaan yang mudah disediakan di bawah:
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class ArrayListOperations { public static void main(String[] args) { List<String> list1 = new ArrayList<>(Arrays.asList("A", "B", "C")); List<String> list2 = new ArrayList<>(Arrays.asList("B", "C", "D", "E", "F")); System.out.println(intersection(list1, list2)); System.out.println(union(list1, list2)); } 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); } }
Mengenai Penapisan Fail:
Menggunakan ArrayLists untuk penapisan fail adalah sesuai jika bilangan fail agak kecil. Walau bagaimanapun, untuk set data yang lebih besar, mempertimbangkan struktur data yang lebih cekap seperti HashSet atau TreeSet akan bermanfaat untuk prestasi masa jalan yang dioptimumkan.
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Operasi Persimpangan dan Kesatuan pada ArrayLists di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!