2016-07-29 58 views
1

我最近了解到,为了遍历集合,集合操作比for-each构造或迭代器更好,但我没弄明白。 获取流和执行集合操作有什么好处。 Syntex有任何性能问题或简单吗?要遍历集合,集合操作更好选择如何?

+1

我添加了Java-8标签,因为你似乎在问流。 –

+2

尝试使用plain for-each来做一些多线程的聚合操作,你会看到它有多难。您需要同步很多东西等,因为列表不是线程安全的。您可以通过使用并行流使用流实现同样的事情,它更容易和安全。节省很多时间。此外,流让你专注于“什么”的问题,而不是如何,因为他们采取'如何'的部分。迭代在开箱即用的情况下在内部完成。 – george

+4

主要的好处是既不是性能(认为它表现良好)也不是语法的简单性(尽管这也可能是一个好处)。好处是_表示作为数据集属性的更高抽象级别的操作,而不是一个在每个单独元素上进行深入分析并计算一些临时结果的必要过程。 –

回答