stream的sorted
时间: 2023-10-31 22:59:36 浏览: 88
stream的sorted是Java中用于对流中的元素进行排序的方法。它返回一个经过排序的新流,而不会修改原始流。sorted方法可以接受一个Comparator参数,也可以不传任何参数。
如果不传入Comparator参数,则会使用默认的自然排序进行排序。比如,对于一组整数的流,可以使用sorted方法按升序对它们进行排序:
```java
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
```
如果想要按照自定义的排序逻辑进行排序,可以传入一个Comparator参数。比如,对于一组字符串的流,可以使用sorted方法按字符串长度进行排序:
```java
List<String> strings = Arrays.asList("apple", "banana", "cherry", "date");
List<String> sortedStrings = strings.stream()
.sorted(Comparator.comparingInt(String::length))
.collect(Collectors.toList());
```
在这个例子中,我们使用了Comparator.comparingInt方法和方法引用来创建一个比较字符串长度的Comparator。
总之,stream的sorted方法是用于对流中的元素进行排序的,可以根据需要使用默认的自然排序或自定义的排序逻辑。
阅读全文