stream().forEach
是 Java 8 中引入的 Stream API 的一部分,用于对流中的每个元素执行某个操作。forEach
方法是 Java 集合框架中 Collection 接口的一个默认方法,用于遍历集合中的元素。
以下是 stream().forEach
的一些关键特点:
-
流式操作 :
stream().forEach
支持流式操作,允许对数据进行更优化的处理,例如通过并行流(parallelStream
)来提高处理速度。 -
Lambda 表达式 :
stream().forEach
可以与 Lambda 表达式一起使用,使得代码更加简洁和易读。 -
性能开销 :虽然
stream().forEach
可以提高处理大量数据的效率,但它也可能引入一些额外的性能开销,比如流的创建和操作过程中的额外计算。 -
适用场景 :当处理的数据量较小,或者需要链式调用和复杂数据处理时,
stream().forEach
是一个很好的选择。
举例来说,如果你有一个 List<Student>
,你可以使用 stream().forEach
来打印每个学生的名字:
List<Student> studentList = new ArrayList<>();
studentList.add(new Student("张三", "女", "18"));
studentList.add(new Student("王美美", "男", "57"));
studentList.stream().forEach(stu -> System.out.println(stu.getName()));
这段代码会输出:
张三
王美美
需要注意的是,stream().forEach
和普通的 forEach
方法的主要区别在于它们操作的对象不同:stream().forEach
操作的是流(Stream),而普通的 forEach
方法操作的是集合(Collection)。