郎溪 溪流_到无限(溪流)和超越!

郎溪 溪流

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

对于6个元素,谁在乎!

郎溪 溪流_到无限(溪流)和超越!

例:

上面提到的是代码气味,它是流的不断收集和重新流式传输,大多数人可能会注意到这一点,并且如果这只是一种方法,则会删除一些临时列表。

大多数人会。 我见过人们不这样做。

但是,如果上述方法使用子例程来处理事情,则很容易优化子例程的API的简单性,并使它们接收和返回集合。 这样您就可以完成上述行为。

解决方案是从filtermapreduce类型函数的角度来看高层数据处理管道,并尝试围绕流对其进行建模。

但为什么/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进行处理,非常感谢!

上一篇 2020年6月6日
下一篇 2020年6月6日

相关推荐