📜  Java中的 IntStream forEach() 方法

📅  最后修改于: 2022-05-13 01:55:25.901000             🧑  作者: Mango

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