这篇文章给大家介绍Java8流是什么呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
在说流之前,我们先来看看集合,为什么呢?作为Java8中的新成员,它和集合有很多相似之处,同时它们也是可以互相转化的。集合不仅仅是Java语言,任何一门高级开发语言都有集合的概念,集合顾名思义,就是很多数据集放在一起,它算是一个容器,同时我们也可以使用泛型来限制集合中的数据类型。
流作为是Java8的新成员,它允许我们以声明性的方式来处理数据集合。我们可以把它看成遍历数据集的高级迭代器。此外,流还可以透明地并行处理,这就使得我们无需编写任何多线程代码。在后续中我们再来详细说说流和流的并行化。
从以上一段代码中,我们可以看出:
1、代码是以声明性方式编写。即想要完成的工作,而非如何完成。
2、可以使用操作链。filter之后的方法可以直接点,直到完成。
由上,我们可以先简单的总结下使用流的好处:
1、声明性:更简洁易读。
2、可复用:更加灵活。
3、可并行:性能更好。
上面我看了流和集合的简单比较,那么到底流是什么呢?我们可以简单说明为“从支持数据处理操作的源生成的元素序列”。我们将这句话分开来解析:
①、元素序列:它就如何集合一样,可以访问特定元素类型的一组有序值。但它与集合是不同的,集合是一种数据结构,它的主要目的是在一定时间和空间上存储数据。而流主要用来计算。他们本质上是不同的。
②、源:即源头,流在处理数据时,这个数据的源头,例如:集合可以是个源,文件也可以是个源。
③、数据处理操作:流在处理数据时类似我们操作数据库,如:filter/map/sort等。流在处理数据时,可顺序执行也可并行执行。
流在操作中具有两个很明显的特征:
1、流水线。即流的操作返回的还是一个流,如此多个操作就可以一直往后链接,从而形成一个流水线。
2、内部迭代。流在处理时,我们是看不到处理过程的,它是在背后执行的。我们可以回看上一节中,民警在筛选/排序/映射到后面的截取/转换等如何完成的,我们无法看到执行过程。
在Java8中集合和流是可以互相转化的,但从数据上来看,集合是可以不断的遍历,而流只可以遍历一次,一次遍历结束后,即代表该条流完成,若想再次处理,则需要重新建立一个流对象。若我们对一个已经完成的流再次处理,则会抛出异常。
关于Java8流是什么呢就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
当前名称:Java8流是什么呢-创新互联
标题路径:https://www.cdcxhl.com/article40/dodeeo.html
成都网站建设公司_创新互联,为您提供外贸建站、面包屑导航、微信小程序、标签优化、ChatGPT、网站营销
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联