📜  Java中的IntStream sorted()(1)

📅  最后修改于: 2023-12-03 15:01:59.236000             🧑  作者: Mango

Java中的IntStream sorted()

在Java中,IntStream是一种流式API,可用于处理数字类型的元素。其中,sorted()方法是对流元素进行排序的一种操作。

方法签名
IntStream sorted()
方法描述

sorted()方法返回一个新的排序后的 IntStream。排序顺序是默认顺序,即升序。

代码示例

下面是一个简单的示例,演示如何使用sorted()方法对数字流进行排序:

int[] numbers = {5, 2, 8, 1, 9};
IntStream stream = Arrays.stream(numbers);
IntStream sortedStream = stream.sorted();
sortedStream.forEach(System.out::println);

经过排序后的结果为:

1
2
5
8
9
进一步使用

除了默认升序排序外,sorted()方法还可以接受一个参数,以指定自定义排序方式。这个参数是一个 Comparator 对象。

下面是一个示例,使用自定义排序方式对字符串流进行排序:

String[] words = {"apple", "banana", "orange", "peach"};
IntStream stream = Arrays.stream(words).mapToInt(String::length); // 将字符串流转换为长度流
IntStream sortedStream = stream.sorted(Comparator.reverseOrder()); // 按长度降序排序
sortedStream.forEach(System.out::println);

经过排序后的结果为:

6
6
5
5
注意事项

需要注意的是,sorted()方法返回的是一个新的 IntStream,并不会改变原来的流。因此,如果要在排序后进行后续操作,需要使用排序后的新流。