Java IntStream sorted()
IntStream sorted() 返回一个由这个流中的元素按排序顺序组成的流。它是一个 有状态的中间操作 ,即在处理新的元素时,它可能会结合以前看到的元素的状态。有状态的中间操作可能需要在产生结果之前处理整个输入。例如,在看到一个流的所有元素之前,我们不能从排序中产生任何结果。
语法:
IntStream sorted()
其中,IntStream是一个原始int-value元素的序列。
元素的序列。这是流的int原始特化。
异常: 如果这个流的元素不是可比较的,在执行终端操作时可能会抛出一个 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