stream sorted 排序
时间: 2024-02-22 13:53:41 浏览: 79
stream sorted 是 Java 8 中引入的一个方法,用于对流中的元素进行排序操作。它可以按照自然顺序或者通过自定义比较器来进行排序。
使用 stream sorted 方法可以对流中的元素进行升序排序,默认使用元素的自然顺序。例如,对一个包含整数的流进行排序可以这样写:
```
List<Integer> numbers = Arrays.asList(5, 2, 8, 1, 9);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
```
上述代码中,首先将整数列表转换为流,然后使用 sorted 方法对流中的元素进行排序,最后使用 collect 方法将排序后的元素收集到一个新的列表中。输出结果为 [1, 2, 5, 8, 9]。
除了默认的自然顺序排序外,stream sorted 方法还可以接受一个自定义的比较器来进行排序。例如,对一个包含字符串的流按照字符串长度进行排序可以这样写:
```
List<String> words = Arrays.asList("apple", "banana", "cherry", "date");
List<String> sortedWords = words.stream()
.sorted(Comparator.comparing(String::length))
.collect(Collectors.toList());
```
上述代码中,使用 Comparator.comparing 方法指定了按照字符串长度进行排序的比较器。输出结果为 ["date", "apple", "banana", "cherry"]。
阅读全文