一:排序
1:sorted()自然排序
2:sorted(Comparator com)定制排序
效果:
二:终止操作之查找与匹配
1: allMatch,检查是否匹配所有元素
效果:
2:anyMatch,检查是否匹配至少一个元素
效果:
3:noneMatch,检查是否没有匹配所有元素
效果:
4:findFirst,返回第一个元素
效果:
5:findAny,返回当前流中任意一个元素
效果:
6:count,返回当前流中的总个数
效果:
7:max,返回流中最大值
效果:
8:min,返回流中最小值
效果:
三:归约与收集
1:归约,指定是可以将流中元素反复结合起来,得到一个值
⑴ reduce(T identity,BinaryOperator<T> accumulator),identity:它允许用户提供一个循环计算的初
始值,accumulator:计算的累加器,其方法签名为apply(T t,U u),在该reduce方法中第一个参数t
为上次函数计算的返回值,第二个参数u为Stream中的元素,这个函数把这两个值计算apply,得到的
和会被赋值给下次执行这个方法的第一个参数.
效果:
注释:刚开始以10位起始值,那么就是x为10,y为2,第一次累加值为12,。
后面同样以12为起始值,x为12,y为3,。后面同理,最终的结果就是
10+2+3+4+5+6+7+8+9=54.
⑵reduce(BinaryOperator)
效果:
注意:map和reduce的连接通常称为map-reduce模式,因Google用它来进行
网络搜索而出名。
2:collect-收集,将流转换为其他形式。接收一个Collector接口的实现,用于给Stream
中元素做汇总的方法。
⑴将一个集合中姓名的字段筛选出来,然后转换为List集合
效果:
⑵去重复名称,放到set集合中去
效果:
⑶去重复名称,放到HashSet集合中去
效果:
3:其他相关函数
注意:多级分组,先按状态分,再按年龄分。