@Test
public void test() {
List<String> list1 = new ArrayList<>();
list1.add("5");
list1.add("1");
list1.add("3");
List<String> list2 = new ArrayList<>();
list2.add("2");
list2.add("1");
list2.add("3");
// apache-common
// 交集
System.out.println(CollectionUtils.intersection(list1,list2));
// 并集
System.out.println(CollectionUtils.union(list1, list2));
// 差集
System.out.println(CollectionUtils.subtract(list1,list2));
// 交集的补集
System.out.println(CollectionUtils.disjunction(list1,list2));
System.out.println("===============================");
// java8
// 交集
System.out.println(list1.parallelStream().filter(item -> list2.contains(item)).collect(Collectors.toList()));
// 并集
list1.addAll(list2);
System.out.println(list1.parallelStream().distinct().collect(Collectors.toList()));
// 差集
System.out.println(list1.parallelStream().filter(item -> !list2.contains(item)).collect(Collectors.toList()));
}
java两个集合取交集、并集与差集
最新推荐文章于 2024-07-29 23:52:59 发布