stream是什么?
表示能应用在一组元素上一次执行的操作序列。Stream让开发者能够以一种声明的方式处理数据源(集合、数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation)和大批量数据操作 (bulk data operation)。
Stream API将处理的数据源看做一种Stream(流),Stream(流)在Pipeline(管道)中传输和运算,支持的运算包含筛选、排序、聚合等,当到达终点后便得到最终的处理结果。
它有啥特点?
- Stream API的使用和同样是java8新特性的 lambda表达式密不可分,可以大大提高编码效率和代码可读性。
- StreamAPI提供串行和并行两种操作,其中并行操作能发挥多核处理器的优势,使用fork/join的方式进行并行操作以提高运行速度。
- StreamAPI进行并行操作无需编写多线程代码即可写出高效的并发程序,且通常可避免多线程代码出错的问题。
Stream的创建
stream的操作主要分为以下三步
- 创建Stream
- 中间操作(对数据进行操作)
- 终止操作(如果没有终止操作,中间操作是不执行的)Stream创建的方式Collection提供了两个方法一种是stream(),还一种parallelStream(),stream()是是创建串行流,parallelStream()创建的是并行流,知道了它的创建方式,接下来我将写几个例子。
Stream的操作符大体上分为两种:中间操作符和终止操作符
常用的有哪些方法?
大家可以参考这边文章,作者写的很好哦!
玩转Java8Stream(一、从零认识Stream)
原理是啥呀?
大家可以参考这篇文章,真不错!
天天在用 Stream,那你知道如此强大的 Stream 的实现原理吗?
哈哈哈,我是优秀博客的搬运工~~
感谢两位作者 NB!