前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Stream API

Stream API

作者头像
咕咕星
发布2020-08-19 16:11:32
7780
发布2020-08-19 16:11:32
举报
文章被收录于专栏:咕咕星咕咕星

1、用于处理内存中的数据

像SQL语句来操作数据库一样的形式。

2、Stream流的特点

(1)Stream流不可变,每次改变就会创建一个新的流

(2)Stream流也不会改变数据源的数据

(3)Stream的中间操作是一个延迟操作,一直到终结操作时,一起完成。

3、Stream API的使用分为三个步骤

(1)创建Stream

(2)0-n步中间操作

(3)终结操作

4、四种方式创建Stream

(1)通过Arrays.stream(数组)

(2)通过集合对象.stream()

(3)Stream.of(…)

(4)创建无限流

Stream.generate(Supplier)

Stream.iterate(T seed,UnaryOperator)

5、中间操作:这些方法的返回值类型还是Stream,所以可以继续再操作

(1)filter(Predicate p):按照p的条件过滤

(2)distinct():去重复

(3)limit(long maxSize)取流中的前maxSize个

(4)skip(long n):跳过前n个

(5)peek(Consumer action):对流中的元素,挨个执行consumer接口的action操作

(6)map(Function f):对流中的每一个元素,都映射f指定的操作

(7)flatMap (Function f)

(8)sorted()

sorted(Comparator com)

6、终结操作:这些方法的返回值类型不是Stream,所以不能继续再操作,所以对Stream的操作就结束

一个流一旦终结就结束了,就不能用了,要再使用,需要重写创建新的Stream

(1)forEach(Consumer c)

(2)long count()

(3)Optionalmax(Comparatorc)

(4)0ptionalmin(Comparator c)

(5)boolean allMatch(Predicate p):所有都匹配

代码语言:javascript
复制
   boolean anyMatch(Predicate p):有任一个匹配

   boolean noneMatch(Predicate p):都不匹配

(6)R collect(Collector c)

Collectors 工具类提供了很多静态方法,可以方便地创建常见收集器实例。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档