java 8 List 根据某个字段去重
List<User> userList = userList.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(
() -> new TreeSet<>(Comparator.comparing(ReadData::getReadTime))), ArrayList::new));
1
2
3
2
3
示例:
List<User> userList = new ArrayList<>();
userList.add(new User("1","张三"));
userList.add(new User("2","李四"));
userList.add(new User("3","王五"));
userList.add(new User("4","赵六");
userList.add(new User("1","丁七"); //id相同,其他数据也相同
userList.add(new User("3","许八")); //id相同,其他数据不同
System.out.println(userList);
//根据userid去重
userList = userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User :: getUserId))), ArrayList::new));
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
上次更新: 2024/03/30, 14:19:47