集合元素为对象时,根据对象中属性去重操作,如下所示:
List<User> list = Arrays.asList(new User(3,"张三"), new User(2,"李四"),new User(2,"王五"));
1.根据 用户年龄去重:
List<User> newDto = list.stream().collect(
Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing( u-> u.getAge()))), ArrayList::new)
);
结果为:new User(3,"张三"), new User(2,"李四")。
2.根据用户年龄把重复值清空
注:清空的意思为只要为重复值就都去掉
List<User> newDto = list.stream().collect( Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing( User :getAge()))), ArrayList::new) );
结果为:new User(3,"张三")。
Java集合对象去重与清空重复值
本文介绍了在Java中如何使用Stream API结合TreeSet实现对象列表的去重操作,具体包括根据用户年龄进行去重以及清空所有重复值的方法。示例代码展示了如何创建一个User对象列表,并通过比较User的age属性来达到去重目的。
1250

被折叠的 条评论
为什么被折叠?



