我正在学习Java 8中的流。我对这个概念感到困惑:
集合是内存中的数据结构,它保存数据结构当前拥有的所有值,在将其添加到集合之前必须计算集合中的每个元素。相反,流是按需计算元素的概念固定的数据结构。
我不明白,集合怎么能只保存在将值添加到集合之前必须计算的值?此外,比较固定数据结构的流意味着什么?
发布于 2016-09-11 04:44:44
您没有提供报价的来源,所以让我引用javadoc给您:
流与集合有几种不同之处:
Stream
会产生一个新的Stream
,而不需要过滤的元素,而不是从源集合中删除元素。String
”不需要检查所有输入字符串。流操作分为中间(Stream
-producing)操作和终端(值产生或副作用产生)操作。中间操作总是懒散的。limit(n)
或findFirst()
,可以允许无限流上的计算在有限的时间内完成。Iterator
类似,必须生成新的流才能重新访问源的相同元素。相反,Collection
是对象(元素)的容器。除非对象先前被添加到集合中,否则无法从集合中获取(检索)对象。
发布于 2022-04-02 16:08:45
一些基本的区别是
但这些都是有限的差别,你必须去探索,去了解更多。收藏就像CD/DVD,流媒体是电影。流可以是无状态的和状态的。
https://stackoverflow.com/questions/39432699
复制相似问题