Stream是JDK8 API的新成员,允许以声明性方式处理数据集合
集合转流: 对象.stream()串行 对象.parallelStream()并行
流转集合:.collect(Collectors.toList())
操作符:中间操作符 最终操作符
中间操作符:
filter()过滤集合中符合条件的元素
distinct()去重
limit(n)获取前n个元素
skip(n)除去前n个元素
peek()
map() 返回结果是一个流 接收一个函数,对集合中的每个元素都执行操作
flatMap() 接收一个函数,对集合中的每个元素都执行操作,最终所操作的对象合为一个流
流的扁平化处理
sorted()排序
最终操作符:
collect(Collectors.toList())将流转换为其它形式,此处为list,若为set可以去重
anyMatch(0 集合中是否至少有一个元素满足条件
allMatch() 集合中的元素是否都满足条件
noneMatch()集合中的元素是否都满足条件
findAny()返回集合中任意元素
findFirst()返回集合中第一个元素
reduce()将流中元素反复结合起来得到一个结果,如做累加
count()返回集合中元素数量
Stream<T> peek(Consumer<? super T> action)窥视 产生一个新的流引用