1、准备测试数据@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private int age;
private String name;
private BigDecimal money;
}
,现在小编就来说说关于java中stream如何去重?下面内容希望能帮助到你,我们来一起看看吧!
java中stream如何去重
1、准备测试数据
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private int age;
private String name;
private BigDecimal money;
}
private static List<User> getList() {
List<User> users = new ArrayList<>();
users.add(new User(1, 28, "张三", new BigDecimal(4000)));
users.add(new User(2, 21, "李四", new BigDecimal(5000)));
users.add(new User(3, 24, "王五", new BigDecimal(6000)));
users.add(new User(4, 23, "赵六", new BigDecimal(7000)));
return users;
}
2、升序
List<User> ascUsersByAge = getList().stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());
3、降序
List<User> descUsersByAge = getList().stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(Collectors.toList());
4、组合排序
List<User> orderUsersByAgeAndMoney = getList().stream().sorted(Comparator.comparing(User::getAge).thenComparing(User::getMoney)).collect(Collectors.toList());
路漫漫其修远兮,吾将上下而求索
译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。
如果您有什么好的想法与方法,欢迎评论区留言,我们一起讨论~
,