Java8 Stream非官方教程|第二篇:流操作

本文主要介绍Java中Stream接口的流操作。流操作分为中间操作和终端操作,中间操作返回另一个流,可合并在终端操作时处理;终端操作从流的流水线上生成结果。使用流包括数据源、中间操作链和终端操作,其背后理念类似构建器模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.流操作

java.util.stream.Stream中的Stream接口定义了很多操作。大致可以分为两大类。
看一段代码
在这里插入图片描述
可以看到两类操作
在这里插入图片描述

1.1 中间操作

filter、map、limit之类的中间操作会返回另一个流。中间操作一般都可以合并起来,在终端操作时一次性全部处理。

1.2 终端操作

终端操作会从流的流水线上生成结果。返回结果可以是任何值,比如list、integer,甚至是void,比如打印system.out.println或者开启线程。

2.使用流

使用流,一般包括三件事

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

流的流水线背后的理念类似于构建器模式。在建造器模式中有一个调用链来设置一套配置(对流来说这就是一个中间操作链),接着是调用build方法(对流来说就是终端操作)

3.总结

  • 流是“从支持数据处理操作的源 -> 生成的一系列元素”
  • 流通过内部迭代的方式:filter/map/sorted等操作被抽象掉了
  • 流操作:中间操作和终端操作
  • 中间操作会返回一个流,并可以连接在一起,但是不会产生结果
  • 终端操作会返回一个非流的值,并处理流水线返回结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值