【发布时间】:2016-05-05 00:57:51
【问题描述】:
在使用 Java 8 Stream API 时,将多个 map 调用合并为一个是否有好处,还是不会真正影响性能?
例如:
stream.map(SomeClass::operation1).map(SomeClass::operation2);
对
stream.map(o -> o.operation1().operation2());
【问题讨论】:
-
我不希望这会产生重大影响。做任何你认为最易读的事情。
-
老实说,我认为您的方法
operation1和operation2的成本将比这更多重要,即使存在差异。因此,编写工作代码,然后进行基准测试,这是唯一确定的方法。 -
我猜如果处理并行流,示例 1 可以在 operation1 上并行化,流输出再次为 operation2 并行化,但示例 2 将只有一级并行化?
-
@stanfordude,当然不是。
标签: java java-8 java-stream