什么是Java 8“视图”?

我在看保罗飞利浦的演讲:

在12:48时,他在比较Scala和Java时说“在Java 8中他们的观点确实有效”

什么是Java“视图”以及Scala的等价物是什么?

更新:感谢Daniel的回答,我发现这篇文章很有帮助: http : //www.scala-lang.org/docu/files/collections-api/collections_42.html

Java 8的Stream就是他对视图的意思。 他们有两个重要的属性:

  1. 它们是非严格的,这意味着它们只能按需生成结果。
  2. 它们将多个操作“融合”在一起,因此您可以执行多个mapfilter调用,原始集合仍将只迭代一次。

Scala相当于各种View集合,您可以通过在现有集合上调用.view来获取它们。 它们确实具有这些属性 – 毕竟它们是定义属性 – 但却充满了缺陷和缺陷,更不用说非常复杂的实现了。

保罗已经开始玩弄替代实施,但从来没有优先取代它们。