User user1 = new Ceshientity(1,"22222");
User user2 = new Ceshientity(2,"11111");
User user3 = new Ceshientity(3,"22222");
User user4 = new Ceshientity(4,"33333");
User user5 = new Ceshientity(5,"22222");
User user6 = new Ceshientity(6,"2323");
List<User> list= Arrays.asList(user1 ,user2 ,user3 ,user4 ,user5 ,user6 );
//根据某个字段判断去重o.getUserId()
List<User> list2=list.stream().collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<User>(
Comparator.comparing(o -> o.getUserId()))), ArrayList::new));
return list2;
注意: 必须用 List<User> list 接收!!!!!!!!!!!!!!!!!
直接返回list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(Ceshientity::getName))), ArrayList::new));
不会去重复
测试结果:
[
{
"id": 2,
"name": "11111"
},
{
"id": 1,
"name": "22222"
},
{
"id": 6,
"name": "2323"
},
{
"id": 4,
"name": "33333"
}
]
感谢:原文链接 https://blog.csdn.net/weixin_42274520/article/details/106855333