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 TPredicate TT -> boolean
map中间操作Stream RFunction T,RT -> R
limit中间操作Stream T  
sorted中间操作Stream TComparator T(T,T) -> int
distinct中间操作Stream T  

3 终端操作

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值