stream流比较器
时间: 2023-11-04 16:05:40 浏览: 43
stream流比较器是一种用于对流中元素进行排序的工具。在Java 8中,可以使用Comparator接口来创建比较器,然后使用sorted()方法对流中的元素进行排序。Comparator接口提供了许多方法来定义比较器,例如comparing()方法可以根据对象的某个属性进行排序,reversed()方法可以颠倒排序顺序。在使用sorted()方法时,可以将比较器作为参数传递给该方法,以便对流中的元素进行排序。
举个例子,假设有一个Student类,其中包含name和age两个属性。可以使用以下代码对一个Student对象列表进行排序:
```
List<Student> students = new ArrayList<>();
// 添加学生对象到列表中
students.add(new Student("Tom", 20));
students.add(new Student("Jerry", 18));
students.add(new Student("Alice", 22));
// 根据年龄对学生对象列表进行排序
List<Student> sortedStudents = students.stream()
.sorted(Comparator.comparing(Student::getAge))
.collect(Collectors.toList());
```
这段代码使用了Comparator.comparing()方法来创建一个比较器,该比较器根据Student对象的age属性进行排序。然后使用sorted()方法对流中的元素进行排序,并使用collect()方法将排序后的结果收集到一个新的列表中。