详细介绍 Java 中 Stream 的 forEach 方法
在 Java 8 中引入的 Stream API 提供了一种更为函数式的方式来处理集合数据。Stream API 提供了丰富的操作方法,其中 forEach 是用来迭代 Stream 中的元素并对每个元素执行指定操作的方法之一。本文将详细介绍 Java 中 Stream 的 forEach 方法的用法、特性以及与传统循环的比较。
1,forEach 方法的基本用法
forEach 方法接受一个函数式接口 Consumer 的实例作为参数,该接口定义了一个名为 accept 的抽象方法,用来对流中的每个元素执行操作。具体语法如下:
stream.forEach(element -> {
// 对元素进行操作的代码
});
其中 element 是流中的每个元素,箭头后面的代码块定义了对每个元素进行的操作。例如,可以输出每个元素的值:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.stream().forEach(name -> {
System.out.println("Hello, " + name);
});
这段代码会输出:
Hello, Alice
Hello, Bob
Hello, Charlie
2,forEach 方法与传统循环的比较
传统的迭代方式使用 for 或者 foreach 循环,而 Stream 的 forEach 方法则提供了一种更为简洁和函数式的方式来处理集合数据。比较如下: