java基础——stream使用及原理

stream使用及原理

元素 Stream是一个来自数据源的元素队列,Stream本身并不存储元素

数据源(即Stream的来源)包含集合、数组、I/O channel、generator(发生器)等。

聚合操作 类似SQL中的filter、map、find、match、sorted等操作

管道运算 Stream在Pipeline中运算后返回Stream对象本身,这样多个操作串联成一个Pipeline,并形成fluent风格的代码。这种方式可以优化操作,如延迟执行(laziness)和短路( short-circuiting)。

内部迭代 不同于java8以前对集合的遍历方式(外部迭代),Stream API采用访问者模式(Visitor)实现了内部迭代。

并行运算 Stream API支持串行(stream() )或并行(parallelStream() )的两种操作方式。

 

Stream和Collection的区别主要有:
1.stream本身并不存储数据,数据是存储在对应的collection里,或者在需要的时候才生成的;
2.stream不会修改数据源,总是返回新的stream
3.stream的操作是懒执行(lazy)的:仅当最终的结果需要的时候才会执行

 

posted @ 2021-01-08 14:50  三灶龙都88  阅读(680)  评论(0)    收藏  举报