📜  Java中的 IntStream forEach() 方法(1)

📅  最后修改于: 2023-12-03 15:16:23.546000             🧑  作者: Mango

Java中的 IntStream forEach() 方法

在Java 8中引入了新的Stream API,提供了循环处理集合元素的方式,其中IntStream是一种特殊的Stream,用于处理int类型的元素。IntStream提供了一个forEach()方法,可以应用一个函数到每个元素上。

语法
void forEach(IntConsumer action)

其中,action是需要应用到每个元素上的函数(即lambda表达式)。而IntConsumer是一个函数式接口,用于表示接受一个int类型参数但没有返回值的函数。

示例

下面是一个示例,演示如何使用IntStream的forEach()方法。

IntStream intStream = IntStream.of(1, 2, 3, 4, 5);
intStream.forEach(num -> System.out.println(num * 2));

上述示例首先创建了一个IntStream,其中包含了数字1到5。然后,forEach()方法被调用,并传入一个lambda表达式,用于将每个数字乘以2并打印出来。

输出如下:

2
4
6
8
10
特点
  • forEach()方法是中间操作,不会执行任何操作,只有在调用终端操作(例如count()、sum()、toArray()等)时才会真正执行。
  • forEach()方法不保证元素的处理顺序,因此对于有些操作可能不适用。
  • forEach()方法只能接受一个参数(即一个lambda表达式),不能进行链式操作。
总结

IntStream的forEach()方法提供了一种便捷的方式,可以对集合中的每个元素应用一个函数(即lambda表达式)。然而,需要注意的是,forEach()方法只是一个中间操作,需要调用终端操作才能真正执行。另外,在使用forEach()方法时,还需要注意元素处理顺序不确定的情况。