郎溪 溪流
Java允许您处理集合或流中的数据。 将流视为将一个集合转换为另一个集合的技术非常容易。 这可能会导致一些相当随意的代码,其中流数据被重复收集到某种类型的集合中,作为一个整体集合传递,然后再进行更多处理。
对于6个元素,谁在乎!

例:
上面提到的是代码气味,它是流的不断收集和重新流式传输,大多数人可能会注意到这一点,并且如果这只是一种方法,则会删除一些临时列表。
大多数人会。 我见过人们不这样做。
但是,如果上述方法使用子例程来处理事情,则很容易优化子例程的API的简单性,并使它们接收和返回集合。 这样您就可以完成上述行为。
解决方案是从filter , map和reduce类型函数的角度来看高层数据处理管道,并尝试围绕流对其进行建模。
但为什么/p>
将流视为无限
如今,我们的集装箱很小,我们希望他们能充分利用它们的资源。 小型容器(如果连续运行)可以处理无限制的数据流。 如果我们想象所有数据都是潜在的无限流,并设计我们的软件使用流技术来避免将所有数据都存储到内存中,则会发生两件事:
- 我们将所有情况下的流的最大内存需求优化为尽可能低
- 我们必须正确使用Streaming API ,并且最终得到更简洁的代码,因为Stream API的声明性方面有助于描述数据转换中发生的事情。 我们甚至可能在此过程中丢失了一些可怕的临时变量……
上面的代码将变为:
翻译自: https://www.javacodegeeks.com/2019/11/to-infinity-streams-and-beyond.html
郎溪 溪流
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93769 人正在系统学习中 相关资源:轩溪下载系统3.78-C#文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!