Java 中ArrayList 的交集和並集
問題:
如何進行交集與並集Java 中ArrayList 的操作?問題的延伸是關於 ArrayList 在集合論背景下對文件過濾的適用性。
答案:
ArrayList 不提供用於交集或交集的內建方法聯盟。下面提供了一個簡單的實作:
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); } }
關於檔案過濾:
如果檔案數量比較少,使用ArrayLists進行檔案過濾比較合適。然而,對於較大的資料集,考慮更有效率的資料結構(如 HashSet 或 TreeSet)將有利於最佳化執行時間效能。
以上是如何在Java中對ArrayList進行交集和並集運算?的詳細內容。更多資訊請關注PHP中文網其他相關文章!