List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
list1.add("A");
list1.add("C");
list1.add("D");
list2.add("A");
list2.add("B");
//获取两个集合并集
List<String> strings = new ArrayList<>(CollectionUtils.union(list1, list2));
System.out.println(strings);
//[A, B, C, D]
//获取两个集合交集
List<String> strings1 = new ArrayList<>(CollectionUtils.intersection(list1, list2));
System.out.println(strings1);
//[A]
//获取两个集合交集的补集
List<String> strings12 = new ArrayList<>(CollectionUtils.subtract(list1, list2));
System.out.println(strings12);
//[C, D]
//获取两个集合差集的补集
List<String> strings2 = new ArrayList<>(CollectionUtils.disjunction(list1, list2));
System.out.println(strings2);
//[B, C, D]