如何将stream流概念应用于策略?
摘要:作用:结合了Lambda表达式,简化集合,数组的操作 使用步骤: 先得到一条stream流水线,并把数据放上去 使用中间方法对流水线上的数据进行操作 使用终结方法对流水线上的数据进行操作 获取方式方法名说明 单列集合 default Str
作用:结合了Lambda表达式,简化集合,数组的操作
使用步骤:
先得到一条stream流水线,并把数据放上去
使用中间方法对流水线上的数据进行操作
使用终结方法对流水线上的数据进行操作
获取方式方法名说明
单列集合
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)
转换流中的数据类型
中间方法:返回新的Stream流,原来的Stream流只能用一次,建议用链式编程
修改Stream流中的数据,不会影响原来集合或数组中的数据
终结方法
名称说明
void forEach(consumer action)
遍历
long count()
统计
toArray()
收集流中的数据,放到数组
Collect(Collector collector)
收集流中数据,放到集合中
