Java中的 IntStream forEach() 方法
IntStream forEach(IntConsumer action)为流的每个元素执行一个操作。 IntStream forEach(IntConsumer action) 是一个终端操作,即它可以遍历流以产生结果或副作用。
句法 :
void forEach(IntConsumer action)
参数: IntConsumer 表示接受单个 int 值参数且不返回结果的操作。这是消费者对 int 的原始类型特化。
注意:此操作的行为是明确的非确定性的。此外,对于任何给定的元素,可以在库选择的任何时间和任何线程中执行该操作。
示例 1:
// Java code for IntStream forEach
// (IntConsumer action) in Java 8
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(7, 8, 9, 10);
// Using IntStream.forEach
stream.forEach(System.out::println);
}
}
输出:
7
8
9
10
示例 2:
// Java code for IntStream forEach
// (IntConsumer action) in Java 8
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.range(4, 9);
// Using IntStream.forEach() on sequential stream
stream.forEach(System.out::println);
}
}
输出:
4
5
6
7
8
注意:对于并行流,IntStream forEach(IntConsumer action) 不保证尊重流的遇到顺序,因为这样做会牺牲并行性的好处。下面是示例。
示例 3:
// Java code for IntStream forEach
// (IntConsumer action) in Java 8
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.range(4, 9);
// Using IntStream.forEach() on parallel stream
stream.parallel().forEach(System.out::println);
}
}
输出:
6
8
7
5
4