Stream 接口中的方法分为中间操作和终端操作,具体如下。
中间操作:
- filter:过滤元素
- map:映射,将元素转换成其他形式或提取信息
- flatMap:扁平化流映射
- limit:截断流,使其元素不超过给定数量
- skip:跳过指定数量的元素
- sorted:排序
- distinct:去重
终端操作:
- anyMatch:检查流中是否有一个元素能匹配给定的谓词
- allMatch:检查谓词是否匹配所有元素
- noneMatch:检查是否没有任何元素与给定的谓词匹配
- findAny:返回当前流中的任意元素(用于并行的场景)
- findFirst:查找第一个元素
- collect:把流转换成其他形式,如集合 List、Map、Integer
- forEach:消费流中的每个元素并对其应用 Lambda,返回 void
- reduce:归约,如:求和、最大值、最小值
- count:返回流中元素的个数