//集合1 demo1
List<String> demo1 = new ArrayList<>();
demo1.add("1");
demo1.add("2");
demo1.add("2");
demo1.add("4");
//集合2 demo2
List<String> demo2 = new ArrayList<>();
demo2.add("3");
demo2.add("4");
demo2.add("5");
demo2.add("6");
//将demo1中与demo2中相同的部分去掉,得到的集合就是demo3
List<String> demo3= demo1.stream().filter(item -> !demo2.contains(item)).collect(Collectors.toList());
//将demo1中与demo2中相同的拿出来,组成新的集合:demo4
List<String> demo4= demo1.stream().filter(item -> demo2.contains(item)).collect(Collectors.toList());