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中文网其他相关文章!