Java IntStream forEach()方法
IntStream forEach(IntConsumer action) 对流中的每个元素执行一个操作。IntStream forEach(IntConsumer action)是一个 终端操作 ,即它可以遍历流,产生一个结果或一个副作用。
语法:
void forEach(IntConsumer action)
参数: IntConsumer表示一个接受单一int值参数的操作,不返回结果。这是对Int的Consumer的原始类型的特殊化。
注意: 这个操作的行为是明确的 非确定性的。 而且,对于任何给定的元素,该操作可以在库选择的任何时间和任何线程中执行。
例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