Java中的IntStream sorted()
IntStream sorted()返回一个由该流的元素按排序顺序组成的流。它是一个有状态的中间操作,即在处理新元素时,它可以合并来自先前看到的元素的状态。有状态的中间操作可能需要在产生结果之前处理整个输入。例如,在查看流的所有元素之前,无法通过对流进行排序产生任何结果。
句法 :
IntStream sorted()
Where, IntStream is a sequence of primitive int-valued
elements. This is the int primitive specialization of Stream.
异常:如果此流的元素不是 Comparable,则在执行终端操作时可能会抛出Java.lang.ClassCastException 。
返回值: IntStream sorted() 方法返回新流。
示例 1:使用 IntStream sorted() 对给定 IntStream 中的数字进行排序。
// Java code to sort IntStream
// using IntStream.sorted()
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.of(10, 9, 8, 7, 6);
// displaying the stream with sorted elements
// using IntStream.sorted() function
stream.sorted().forEach(System.out::println);
}
}
输出:
6
7
8
9
10
示例 2:使用 IntStream sorted() 对 IntStream generator() 生成的随机数进行排序。
// Java code to sort IntStream
// using IntStream.sorted()
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream by generating
// random elements using IntStream.generate()
IntStream stream = IntStream.generate(()
-> (int)(Math.random() * 10000))
.limit(5);
// displaying the stream with sorted elements
// using IntStream.sorted() function
stream.sorted().forEach(System.out::println);
}
}
输出:
501
611
7991
8467
9672