.stream().sorted()干嘛的
时间: 2023-07-21 15:44:05 浏览: 89
Java.Stream和方法引用
在Java中,您可以使用流(Stream)来操作集合(Collection)中的元素。流提供了一种更简洁、更灵活的方式来对集合进行处理。其中,sorted()方法用于对流中的元素进行排序。
例如,假设您有一个名为personList的List<Person>对象,并且您希望按照年龄对其中的Person对象进行排序。您可以使用以下代码:
```
List<Person> sortedPersonList = personList.stream()
.sorted(Comparator.comparing(Person::getAge))
.collect(Collectors.toList());
```
在上面的代码中,我们首先将personList转换为一个流,然后使用sorted()方法对流中的元素进行排序。在sorted()方法中,我们传入了一个Comparator对象,该对象定义了如何比较两个Person对象。这里我们使用Comparator.comparing()方法来创建一个比较器,该比较器根据Person对象的年龄进行比较。最后,我们使用collect()方法将排序后的结果转换为一个List<Person>对象并返回。
需要注意的是,sorted()方法返回一个新的流对象,而不是对原有流进行排序。如果您需要对原有流进行排序,可以使用sorted()方法后面的forEach()方法来遍历排序后的结果。例如:
```
personList.stream()
.sorted(Comparator.comparing(Person::getAge))
.forEach(System.out::println); //按照年龄升序排列并打印结果
```
阅读全文