【博学谷学习记录】超强总结,用心分享|Stream流详解

Stream流

思想特点

类似于流水线

三类方法

获取Stream流

创建一条流水线,并把数据放到流水线上准备进行操作

中间方法

  • 流水线上的操作
  • 一次操作完毕之后,还可以继续进行其他操作

终结方法

  • 一个Stream流只能有一个终结方法
  • 是流水线上的最后一个操作

生成Stream流的方式

Collection体系集合

使用默认方法stream()生成流, default Stream stream()

Map体系集合

把Map转成Set集合,间接的生成流

数组

通过Arrays中的静态方法stream生成流

同种数据类型的多个数据

通过Stream接口的静态方法of(T… values)生成流

Stream流中间操作方法

概念

中间操作的意思是,执行完此方法之后,Stream流依然可以继续执行其他操作

常见方法

方法名说明
Stream filter(Predicate predicate)用于对流中的数据进行过滤
Stream limit(long maxSize)返回此流中的元素组成的流,截取前指定参数个数的数据
Stream skip(long n)跳过指定参数个数的数据,返回由该流的剩余元素组成的流
static Stream concat(Stream a, Stream b)合并a和b两个流为一个流
Stream distinct()返回由该流的不同元素(根据Object.equals(Object) )组成的流

Stream流终结操作方法

概念

终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作

常见方法

方法名说明
void forEach(Consumer action)对此流的每个元素执行操作
long count()返回此流中的元素数

Stream流的收集操作

概念

对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中

常用方法

方法名说明
R collect(Collector collector)把结果收集到集合中

工具类Collectors提供了具体的收集方式

方法名说明
public static Collector toList()把元素收集到List集合中
public static Collector toSet()把元素收集到Set集合中
public static Collector toMap(Function keyMapper,Function valueMapper)把元素收集到Map集合中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值