1.有时候有两个list对象,我们想要去重,比如:
List userList和ListpersonList
想通过User的id和Person的id进行去重,去掉userList中的User的id不等于personList中的Person的id的对象。
List userList= userList.stream()
.filter(user-> !personList.stream()
.map(person ->person.getId())
.collect(Collectors.toList())
.contains(user.getId()))
// .filter(UniqueUtils.distinctByKey(person ->person.getId()))
// .peek(person -> person .setId(UUIDUtil.uuid()))
.collect(Collectors.toList());
2.list 交集/并集/差集/去重并集
//交集
List intersection = list1.stream().filter(item ->list2.contains(item)).collect(toList());
System.out.println("---得到交集 intersection---");
intersection.parallelStream().forEach(System.out :: println);//差集 (list1 - list2)
List reduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(toL