List去重

1:去除重复数据

List<String> villageIds = villageIdAll.stream().distinct().collect(Collectors.toList());

List<Animal> animals = new ArrayList<>(
Arrays.asList(
new Animal("wangwang", 3),
new Animal("wangwang", 3),
new Animal("guagua", 2)
)
);
System.out.println(animals);
System.out.println(animals.stream().distinct().collect(Collectors.toList()));

2:根据指定字段去重

// 根据name去重
List<Person> unique = persons.stream().collect(
            Collectors.collectingAndThen(
                    Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getName))), ArrayList::new)
);

// 根据name,sex两个属性去重
List<Person> unique = persons.stream().collect(
           Collectors. collectingAndThen(
                    Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getName() + ";" + o.getSex()))), ArrayList::new)
);



 

posted @   老屋上的仙人掌  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示