1. Stream API 简介
Stream API是 JDK8 的新特性,这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作的处理,最后由最终操作得到前面处理的结果。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。
2. Stream中间操作
filter():接收Lambda,从流中排除某些操作;
limit():截断流,限制元素的个数
limit()skip(n):跳过元素,返回一个扔掉了前n个元素的流,若流中元素不足n个,返回一个空流。
skip()distinct():筛选,通过流所生成元素的hashCode()和equals()去除重复元素。
distinct()map():接收Lambda,将元素转换成其他形式或提取信息。
map()flatMap():接收一个函数作为参数,将流中的每个值都换成另一个流,然后把所有流连接成一个流。
3. Stream终止操作
allMatch():检查是否匹配所有元素。
allMatch()anyMatch():检查是否至少匹配一个元素。
anyMatch()noneMatch():检查是否没有匹配所有元素。
noneMatch()findFirst():返回第一个元素。
findFirst()findAny():返回当前流中的任意元素。
count():返回流中元素的总个数
max():返回流中最大值
max()min():返回流中最小值
reduce():将流中元素反复结合起来
reduce()collect():将流转换为其他形式,接收一个Collector接口实现
collect()collect():不光可以将流转换成其他集合等形式,还可以进行归约操作
collect()
网友评论