📅  最后修改于: 2023-12-03 15:01:59.236000             🧑  作者: Mango
在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
,并不会改变原来的流。因此,如果要在排序后进行后续操作,需要使用排序后的新流。