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