我正在观看 Paul Philips 的演讲:
http://www.youtube.com/watch?v=TS1lpKBMkgg http://www.youtube.com/watch?v=TS1lpKBMkgg
在 12:48 比较 Scala 和 Java 时,他说“在 Java 8 中他们的观点确实有效”
什么是 Java“视图”以及 Scala 的等价物是什么?
更新:感谢丹尼尔的回答,我发现这篇文章很有帮助:http://www.scala-lang.org/docu/files/collections-api/collections_42.html http://www.scala-lang.org/docu/files/collections-api/collections_42.html
Java 8 的Stream
这就是他所说的观点的意思。它们有两个重要的属性:
- 它们是非严格的,这意味着它们仅按需生成结果。
- 它们将多个操作“融合”在一起,因此您可以执行多个操作
map
or filter
调用,并且原始集合仍然只会迭代一次。
Scala 的等价物是各种View
集合,您可以通过调用获取.view
在现有集合上。它们确实具有这些属性——毕竟它们是定义属性——但是却受到缺陷和错误的困扰,更不用说非常复杂的实现了。
Paul 曾断断续续地尝试过它的替代实现,但取代它们从来都不是优先考虑的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)