Stream流概述
什么是Sream?
Stream是java8的新特性,允许你以声明的方式进行数据集合处理,可以当做遍历数据的高级迭代器,Stream与正则表达式结合使用可大大提高编码效率,可读性较强.
Stream关注的是计算,与CPU打交道。
为什么要用Stream?
实际开发中,项目多数数据源来自于MySQl Oracle等,但现在数据源更多,如NoSQl需要java层面去处理
Stream和Collection区别
Collection是一种静态的内存数据结构,而Stream是有关计算的,前者主要面向内存,储存在内存中,而后者面向
CPU,通过CPU计算,集合讲的是数据,Stream讲的是计算。
Stream流的使用
创建Stream流
通过数据源生成流(集合,数组等)生成
如list.stream( )
中间操作
流偏向数据处理和计算,如filter,sort,find,map过滤映射操作等,在生成流后对其进行一系列中间操作,做出某种程度上的数据过滤,从而构建我们需要的数据集合.
如filter( )
终结操作
一个流只能有一个终结操作,当操作执行后,流就用光了,无法继续进行操作,这一步必定是对流处理的最后一步操作。
如froEach( )