去重
Java8 lambda自带的去重为 distinct 方法, 但是只能过滤整体对象和基本数据类型, 不能实现对象里的某个值进行判定去重, 比如:
List<Integer> numbers = Arrays.asList(8, 2, 8, 2, 6, 5, 9, 5, 6, 7);
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(distinctNumbers);
但是, 如果对一个实体对象List , 对指定的Student的某个字段作为条件去重就不行了,例如name字段。
如果你这么写:
List<Student> distinctUsers = users.stream()
.distinct(Student::getName)
.collect(Collectors.