Stream sorted()
时间: 2024-09-13 17:16:43 浏览: 29
`Stream.sorted()` 是Java 8 Stream API中的一个终端操作,用于对集合中的元素按照指定的排序规则进行排序。这个方法会返回一个新的已排序的Stream实例,原始集合不会被改变。它可以接受两个参数:
- **Comparator**: 可选的比较器,用于自定义排序顺序。如果不提供,默认按自然顺序排序,比如数字列表会从小到大排序,字符串列表则按字典顺序排序。
- **Characteristics**: 也叫排序特性,可以指定是否区分大小写或是否允许自然排序。默认值是`ORDERED`,表示有序并且不允许自然排序。
例如,对一个整数列表进行升序排序:
```java
List<Integer> numbers = Arrays.asList(5, 2, 9, 1);
numbers.stream()
.sorted()
.forEach(System.out::println); // 输出: [1, 2, 5, 9]
```
如果想自定义降序排列,可以传递一个自定义比较器:
```java
numbers.stream()
.sorted(Comparator.reverseOrder())
.forEach(System.out::println); // 输出: [9, 5, 2, 1]
```
相关问题
Stream sorted
`Stream.sorted()`是Java 8中的一个方法,它可以对一个流中的元素进行排序。排序可以是自然排序(使用元素的compareTo方法)或通过提供Comparator。它返回一个新的排序后的流,原始流不会改变。
例如,对一个字符串流进行排序,可以使用以下代码:
```
Stream<String> stringStream = Stream.of("banana", "apple", "pear", "orange");
Stream<String> sortedStream = stringStream.sorted();
sortedStream.forEach(System.out::println);
```
这将输出:
```
apple
banana
orange
pear
```
stream sorted
`Stream.sorted()`是Java 8中的一个方法,它可以对一个流中的元素进行排序。排序可以是自然排序(使用元素的compareTo方法)或通过提供Comparator。它返回一个新的排序后的流,原始流不会改变。
例如,对一个字符串流进行排序,可以使用以下代码:
```
Stream<String> stringStream = Stream.of("banana", "apple", "pear", "orange");
Stream<String> sortedStream = stringStream.sorted();
sortedStream.forEach(System.out::println);
```
这将输出:
```
apple
banana
orange
pear
```
阅读全文