for在大多数情况下,Java 8流允许的代码比旧式循环更具可读性.但是,根据我自己的经验和我所读到的内容,使用流而不是for循环可能会导致性能损失(或偶尔会有改进),有时难以预测.
在大型项目中,为每个循环编写基准测试似乎不可行,因此在决定是否for用流替换循环时,关键因素是什么(例如,预期的集合大小,预期的值删除百分比)过滤,迭代操作的复杂性,减少或聚合的类型等等,它们可能表明将导致的性能变化?
注意:这是我之前的问题的缩小,因为过于宽泛而关闭(并且并行流的各个方面在另一个SO问题中得到了很好的覆盖),所以让我们将其限制为顺序流.