stream流的sorted()方法
时间: 2023-12-14 20:33:06 浏览: 71
Java 8中的Stream.sorted()方法用于对流中的元素进行排序。它可以按自然顺序或使用自定义比较器进行排序。如果没有提供比较器,则按照自然顺序排序。
以下是使用sorted()方法对整数流进行排序的示例:
```java
List<Integer> numbers = Arrays.asList(5, 3, 8, 1, 2);
List<Integer> sortedNumbers = numbers.stream().sorted().collect(Collectors.toList());
System.out.println(sortedNumbers); // 输出:[1, 2, 3, 5, 8]
```
以下是使用sorted()方法对字符串流进行排序的示例:
```java
List<String> strings = Arrays.asList("apple", "banana", "orange", "pear");
List<String> sortedStrings = strings.stream().sorted().collect(Collectors.toList());
System.out.println(sortedStrings); // 输出:[apple, banana, orange, pear]
```
如果要按照自定义比较器进行排序,可以使用带有Comparator参数的sorted()方法。以下是使用自定义比较器对字符串流进行排序的示例:
```java
List<String> strings = Arrays.asList("apple", "banana", "orange", "pear");
List<String> sortedStrings = strings.stream().sorted((s1, s2) -> s1.length() - s2.length()).collect(Collectors.toList());
System.out.println(sortedStrings); // 输出:[pear, apple, banana, orange]
```
阅读全文