Stream
什么是流
简单说就是从支持数据处理操作的源,生成的元素序列
元素序列:和集合一样,流也提供了一个接口,访问特定元素类的一组有序值
数据处理操作:流更偏向对数据的处理和计算
集合通过Stream方法形成流,再对流操作从而构建想要的数据集合
流操作不影响原始数据
Stream
Stream与IO流是完全不同的
Stream提供了对集合元素更加丰富的操作
将集合或数组的元素存在Stream对象中
中间操作
中间操作返回的仍然是流
.filter 过滤
.distinct 去重
.sorted 排序
.skip 跳过元素
.limit 数量限制
.map 对一个流操作映射出一个新的流
终端操作
对Stream类型的元素仍然可以操作 ,并返回原来的集合或者数组类型的元素
foreach 便利流中的元素
toarray 将流中的元素导入一个数组
min 返回流中元素最小值
max
count 流中元素总个数
reduce 所有元素求和
anymatch 接受一个predicate函数,只要流中有一个元素满足条件就返回true
collect 将流中元素导入一个集合