List<User> userList = new ArrayList<>(); userList.add(new User("1","王五","2")); userList.add(new User("2","赵六","1")); userList.add(new User("3","刘三","6")); userList.add(new User("4","李四","3")); userList.add(new User("1","王五","2")); //id相同,其他数据也相同 userList.add(new User("4","李明","5")); //id相同,其他数据不同 //根据userid去重 userList = userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User :: getUserid))), ArrayList::new));
java8 中使用lambda表达式对List根据某一字段去重
最新推荐文章于 2024-08-24 02:46:30 发布
这篇博客探讨了如何使用Java集合框架中的Stream API,结合TreeSet的特性,实现List<User>类型的列表去重。示例代码展示了在保持元素顺序的同时,依据userid进行去重的操作,对于重复的id,无论其他数据是否相同,都只保留一个。
摘要由CSDN通过智能技术生成