stream 排序
时间: 2023-07-23 22:18:40 浏览: 87
stream 排序可以使用 Java 8 的 Stream API 中的 sorted 方法。该方法可以接收一个 Comparator 对象,用于定义排序规则。
例如,假设有一个 List<Integer> 类型的集合,要对其进行升序排序,可以使用以下代码:
```java
List<Integer> list = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
```
如果要进行降序排序,可以传入一个反向排序的 Comparator 对象:
```java
List<Integer> list = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
List<Integer> sortedList = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
```
注意,sorted 方法不会改变原有集合的顺序,而是生成一个新的已排序的集合。如果需要改变原有集合的顺序,可以使用 sort 方法:
```java
List<Integer> list = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
list.sort(Comparator.naturalOrder()); // 升序排序
list.sort(Comparator.reverseOrder()); // 降序排序
```
阅读全文