stream流的思想

发布时间 2023-10-02 09:16:55作者: java贼溜

 

作用:结合了Lambda表达式,简化集合,数组的操作

使用步骤:
  1. 先得到一条stream流水线,并把数据放上去

  2. 使用中间方法对流水线上的数据进行操作

  3. 使用终结方法对流水线上的数据进行操作

获取方式方法名说明
单列集合 default Stream< E >stream() Collection中的默认方法
双列集合 无法直接使用Stream流
数组 public static< T >stream(T[]array) Array中的静态方法
一堆零散数据 public static< T >stream< T >of(T...values) stream接口中的静态方法

中间方法

名称说明
stream< T >filter(predicate<? super T>predicate) 过滤
stream< T >limit(long maxsize) 获取前几个元素
stream< T >skip(long n) 跳过前几个元素
stream< T >distinct() 元素去重,依赖(hashcode和equals方法)
stream< T >stream< T >concat(stream a,stream b) 合并a和b两个流为一个流
stream< R >map(Function< T ,R >mapper) 转换流中的数据类型
  1. 中间方法:返回新的Stream流,原来的Stream流只能用一次,建议用链式编程

  2. 修改Stream流中的数据,不会影响原来集合或数组中的数据

终结方法

名称说明
void forEach(consumer action) 遍历
long count() 统计
toArray() 收集流中的数据,放到数组
Collect(Collector collector) 收集流中数据,放到集合中