Java8系列--Java Stream入门篇(流的操作)

1 Stream接口

1.1 接口情况

java.util.stream接口下共有DoubleStream、LongStream、IntStream、Stream四个接口,如下图所示:
stream

1.2 流的分类和使用

其中,Stream接口定义了许多方法,大体可以分为两类

  • 中间操作类
  • 终端操作类

一般来说,流的使用可以概括为三件事:

  • 一个数据源来执行一个查询
  • 一个中间操作链,形成一条流的流水线
  • 一个终端操作,执行流水线,并生成结果

1.3 结构图

liucaozuo

2 中间操作

中间操作类的返回的是另一个流,即其返回值类型是流Stream。
例如,filter或sorted方法连接起来可以形成一个查询操作,除非流水线上触发一个终端操作,否则不会执行任何处理。
总之,中间操作只是各种操作的一个顺序上的联合,它们操作的对象是流,产生的对象也是各种各样的流,只有在终端操作之后才能显示最终的操作结果。
流的中间操作常有以下几种:

操作 类型 返回类型 操作参数 函数描述符
filter 中间操作 Stream T Predicate T T -> boolean
map 中间操作 Stream R Function T,R T -> R
limit 中间操作 Stream T
sorted 中间操作 Stream T Comparator T (T,T) -> int
distinct 中间操作 Stream T

3 终端操作

流的终端操作会从流的流水线生成结果,其结果是任何不为流的值,比如List、Integer甚至是void。
常用的流的终端操作

操作 类型 目的
forEach 终端操作 消费流中的每个元素并对其应用Lambda。这一操作返回void
count 终端操作 返回流中元素的个数。这一操作返回long
collect 终端操作 把流归约成一个集合,比如List、Map甚至是Integer。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值