获取list集合中的交集
@Test
public void intersection() {
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(5);
List<Integer> list2 = new ArrayList<>();
list2.add(1);
list2.add(2);
list2.add(3);
//获取两个集合的交集
List<Integer> intersectionList
= list1.stream().filter(list2::contains).collect(Collectors.toList());
System.out.println(intersectionList.toString());
}
输入的结果如下图所示:
获取两个集合的并集(有重复的并集)
@Test
public void intersection() {
List list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(5);
list1.add(85);
list1.add(99);
List<Integer> list2 = new ArrayList<>();
list2.add(1);
list2.add(2);
list2.add(3);
list2.add(18);
list2.add(20);
//获两个集合的并集(有重复并集)
list1.addAll(list2);
System.out.println(list1.toString());
}
输入结果:
获取两个集合的并集(无重复的并集)
@Test
public void intersection() {
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(5);
list1.add(85);
list1.add(99);
List<Integer> list2 = new ArrayList<>();
list2.add(1);
list2.add(2);
list2.add(3);
list2.add(18);
list2.add(20);
//获两个集合的并集(无重复并集)
list1.removeAll(list2);
System.out.println(list1.toString());
list1.addAll(list2);
System.out.println(list1.toString());
}
输入结果: