java stream api

stream

特性

  1. 不是数据结构,没有内部存储
  2. 不支持索引访问
  3. 延迟计算
  4. 支持并行
  5. 很容易生成数组或集合
  6. 支持过滤,查找,转换,汇总,聚合等操作.

运行机制

stream 分为源soure,中间操作,终止操作
流的源可以是一个数组,集合,生成器方法,i/o通道.
一个流可以有一个或多个中间操作,每个中间操作都会返回一个新的流,供下一个操作使用,一个流只有一个终止操作.
流只有遇到终止操作,它的源才开始执行遍历操作.

常见的api

中间操作

过滤 filter
去重 distinct
排序 sorted
截取 limit,skip
转换 map,fiatMap
其他 peek

终止操作

循环 forEach
计算 min,max,coun,average
匹配 anyMatch,allMatch,noneMatch,findFirst,findAny
汇聚 reduce
收集器 toArray,collect

Stream的创建

通过数组
通过集合
通过stream.generate
通过stream.iterate
其他api创建

你可能感兴趣的:(java stream api)