文件名称:Collections源码java-java11-streams-laziness-needs-immutable-collections:使
文件大小:57KB
文件格式:ZIP
更新时间:2024-06-08 07:22:15
系统开源
集合原始java java11-streams-laziness-needs-immutable-collections 使用可变集合作为流源的示例可能会在处理过程中引起认知中断。 参考: 前言 流在几个方面与集合有所不同: 没有存储空间。 流不是存储元素的数据结构。 而是通过计算操作流水线从数据结构,数组,生成器功能或I / O通道等源中传递元素。 本质上是功能性的。 对流的操作会产生结果,但不会修改其源。 例如,对从集合中获取的流进行过滤会产生一个新的不带过滤元素的流,而不是从源集合中删除元素。 懒惰寻求。 许多流操作(例如过滤,映射或重复删除)可以延迟实施,从而暴露出优化的机会。 例如,“使用三个连续的元音查找第一个字符串”不需要检查所有输入字符串。 流操作分为中间(流产生)操作和终端(产生值或副作用)操作。 中间操作总是很懒。 可能是无限的。 尽管集合的大小是有限的,但流不是必需的。 诸如limit(n)或findFirst()之类的短路操作可以允许对无限流的计算在有限时间内完成。 易耗品。 在流的生存期内,流的元素仅被访问一次。 像Iterator一样,必须生成新的流以重新访
【文件预览】:
java11-streams-laziness-needs-immutable-collections-master
----.gitignore(382B)
----settings.gradle(74B)
----build.gradle(254B)
----src()
--------test()
----.travis.yml(67B)
----gradlew(5KB)
----README.md(4KB)
----gradlew.bat(2KB)
----gradle()
--------wrapper()