java8的常用Stream Api整理

创建Stream的方式:

Collection的stream()方法(串行流)

Collection的parallelStream()方法(并行流)

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

Stream类中的 of()静态方法

Stream 中间操作:

filter —— 接收Lambda ,从流中排除某些元素

limit —— 截断流,使其元素不超过给定数量

skip(n)—— 返回一个扔掉了前n个元素的流。若流中元素不足n个,则返回一个空,与limit(n)互补

distinct —— 通过流所生成元素的hashCode()和equals()去除重复元素

map——将元素转换成其他形式或者提取信息。接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素

sorted——有两种方法,一种是不传任何参数,叫自然排序,还有一种需要传Comparator 接口参数,叫做定制排序

Stream 终止操作:

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

anyMatch —— 检查是否至少匹配所有元素

noneMatch —— 检查是否没有匹配所有元素

findFirst —— 返回第一个元素【findFirst 返回的是一个Optional的对像,他将我们的真实对象封装了一层,这是为了避免空指针。而且这个Optional对象为我们提供了一个orElse方法,作用是当我们得到的这个对象为空时,我们可以传入一个新的对象去替代它】

findAny —— 返回当前流中任意元素

count —— 返回流中元素总个数

max —— 返回流中最大值

min —— 返回流中最小值

collect——将流转换为其他形式。接收一个Collector接口的实现,将流中的元素收集到List,Set,Map等。

collect可用的Collector的收集器实现有:

Collectors.toList() 将流转换成List;

Collectors.toSet()将流转换为Set;

Collectors.toCollection()将流转换为其他类型的集合;

Collectors.counting()  元素个数;

Collectors.groupingBy()分组 ,返回一个map

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值