Java stream().sorted 倒叙
时间: 2023-07-21 18:20:24 浏览: 94
可以使用 `sorted()` 方法的重载版本,传入一个 `Comparator` 实例来实现倒序排序。
例如,对一个整数列表进行倒序排序,可以使用以下代码:
```java
List<Integer> intList = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5);
List<Integer> sortedList = intList.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println(sortedList);
```
`Comparator.reverseOrder()` 方法返回一个逆序比较器,将会按照元素自然顺序的相反顺序进行排序。输出结果为:`[9, 6, 5, 5, 4, 3, 2, 1, 1]`,即按照相反顺序排列的整数列表。
注意,如果要在已经排序的流上进行逆序排序,应该先使用 `sorted()` 方法排序,再使用 `sorted(Comparator.reverseOrder())` 方法进行逆序排序。例如,对上面的 `sortedList` 进行逆序排序,可以使用以下代码:
```java
List<Integer> reversedList = sortedList.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println(reversedList);
```
输出结果为:`[1, 1, 2, 3, 4, 5, 5, 6, 9]`,即按照相反顺序排列的已排序整数列表。
阅读全文