流的forEach 和forEach选用哪个更换
时间: 2024-06-07 17:07:55 浏览: 66
流的 `forEach` 和普通的 `forEach` 主要有以下几个区别:
1. `Stream.forEach` 是一种 terminal 操作,而 `Collection.forEach` 是一种 intermediate 操作;
2. `Stream.forEach` 是一种迭代器模式,而 `Collection.forEach` 是一种命令模式;
3. `Stream.forEach` 可以并行执行,而 `Collection.forEach` 只能顺序执行。
因此,如果你需要对一个集合进行遍历并执行某些操作,可以使用 `Collection.forEach`。如果你需要对一个流进行遍历并执行某些操作,可以使用 `Stream.forEach`。如果你需要对一个集合进行并行操作,可以使用 `parallelStream().forEach`。
需要注意的是,如果你需要进行某些操作并返回一个新的集合或流,那么应该使用 `map`、`filter` 等 intermediate 操作,而不是 `forEach`。
相关问题
stream().forEach 与 forEach 哪个效率高
stream().forEach 与 forEach 的效率是相同的。stream().forEach 是在流中使用 forEach 方法,而 forEach 是在集合中使用 forEach 方法。两者的本质是相同的,都是用来遍历集合或流中的元素并执行某些操作。在使用时应根据具体情况选择使用哪种方式。
阅读全文