java中的流究竟是什么?它们与Lambda-Expressions有什么关系?

时间:2017-06-29 08:50:48

标签: java lambda java-8 java-stream

我只是不明白。什么是流,如何使用它们以及如何使用Lambda表达式?

1 个答案:

答案 0 :(得分:2)

来自Javadoc

  

支持顺序和并行聚合的一系列元素   操作

但我认为以下是关键。该流使集合的元素可用于下游操作。

  

流管道,例如"小部件"上面的例子,可以看作   对流源的查询。除非明确说明来源   专为并发修改而设计(例如ConcurrentHashMap),   修改后可能会导致不可预测或错误的行为   正在查询流源。

另请注意:

  

收藏品和流,虽然有一些肤浅的相似之处,   有不同的目标。收藏主要关注的是   有效管理和访问其元素。相比之下,   流不提供直接访问或操纵它们的方法   元素,而是涉及声明性描述   它们的来源和将要执行的计算操作   在该来源上汇总

如果您完全熟悉Scala(并注意到它明显缺少流),那么值得查看this article,其中详细介绍了收集/流差异,特别关注Java与Scala。