Java IntStream parallel()
IntStream parallel() 是java.util.stream.IntStream中的一个方法。该方法返回一个并行的IntStream,也就是说,它可能会返回自己,要么是因为流已经存在,要么是因为底层的流状态被修改成了并行。
IntStream parallel()是一个 中间操作。 这些操作始终是懒惰的。中间操作是在一个流实例上调用的,在它们完成处理后,会给出一个流实例作为输出。
语法:
IntStream parallel()
其中,IntStream是一连串的
原始int-value元素的序列,并且该函数
返回一个并行的IntStream。
下面给出了一些例子,以更好地理解函数。
例1 :
// Java program to demonstrate working of
// IntStream parallel() on a given range
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a stream of integers
IntStream stream = IntStream.range(5, 12);
System.out.println("The corresponding " +
"parallel IntStream is :");
stream.parallel().forEach(System.out::println);
}
}
输出:
The corresponding parallel IntStream is :
9
8
11
10
6
5
7
例2 :
// Printing sequential stream for the
// same input as above example 1.
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
IntStream stream = IntStream.range(5, 12);
System.out.println("The corresponding " +
"sequential IntStream is :");
stream.sequential().forEach(System.out::println);
}
}
输出:
The corresponding sequential IntStream is :
5
6
7
8
9
10
11
例3 :
// Java program to show sorted output
// of parallel stream.
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a stream of integers
IntStream stream = IntStream.of(3, 4, 1, 5, 2, 3, 9);
System.out.println("The sorted parallel" +
" IntStream is :");
stream.parallel().sorted().forEach(System.out::println);
}
}
输出:
The sorted parallel IntStream is :
4
2
3
1
3
5
9
请注意,它仍然显示为未排序。这是因为forEach()被使用了。要想获得按排序处理的项目,请使用forEachOrdered()。但请注意,这否定了使用并行的优势。