0
点赞
收藏
分享

微信扫一扫

stream api

unadlib 2022-03-12 阅读 66

主要针对集合或数组进行一系列流水线式的中间操作

stream不会 存储元素,不会改变原对象,stream操作是延迟加载的,直到终止操作才能出发所有中间操作

一、

1.创建stream流:

Collection的stream()或parallelStream()

Arrays的静态方法stream()获取数组流

Stream类的静态方法of()

创建无限流 Stream.iterate接受T返回T

                   Stream.generate返回T

2.中间操作

filter:接受lambda,从流中排除元素

limit:截断,使其元素不超过指定数量

skip:跳过前n个,与limit互补,如果流中数据不足则返回空流

distinct:去重

map:对流中的每个元素操作

flatmap:接收一个函数作为参数,将流中的每个值都转换为一个新的流并连接

sorted:自然排序,(e1,e2->{})定制排序

查找与匹配:

allMatch:检查是否匹配所有元素

anyMatch:检查是否匹配至少一个元素

noneMagtch:检查是否没有匹配所有元素

findFirst:返回第一个元素

findAny:返回当前流中的任意元素

count:返回流中元素总个数

max:最大值,min:最小值

reduce:规约,可以将流中数据反复结合起来形成新值

3.终止操作

forEach:遍历

collect:接受一个collector接口的实现,将流转换为该形式

举报

相关推荐

0 条评论