java8的list相同的保留一个去重复
1、基础类型的包装对象,直接用
List<String> list=Arrays.asList("a","b","c","a");
List<String> distinct=list.stream().distinct().collect(Collectors.toList());
distinct.stream().forEach(s->System.out.print(s));
2、非基础类型包装对象,使用lombok的@Data,或者重写equals和hashcode方法
3、java8的写法
return planInfoVOList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(
()->new TreeSet<Person>(
Comparator.comparing(Person::getId)
)
)
,ArrayList::new)
);
本文介绍了如何使用Java 8 Stream API处理List中的重复元素,包括基础类型和复杂对象的去重方法,以及利用lombok和自定义equals/hashCode的实践。重点展示了如何通过TreeSet和Comparator来实现高效去重并转换为ArrayList。
1270

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



