JAVA8-stream

什么是流?

流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。流还可以透明的并行处理,你无需写任何多线程代码了。

流的定义:从支持数据处理操作的源生成的元素序列。

  1. 元素序列:就像集合一样,流也提供了一个接口,可以访问特定元素类型的一组有序值。容器和流区别在于,容器是用于存储和访问元素,流在于计算。
  2. 源:流会使用一个提供数据的源,如集合、数组或输入/输出资源。
  3. 数据处理操作:流的数据处理功能支持类似于数据库的操作,以及函数式编程语言中 的常用操作,如filter、map、reduce、find、match、sort等。流操作可以顺序执行,也可并行执行。

流的两个特点:1.很多流操作本身会返回一个流,可以形成一个流水线。2.流的迭代操作是在背后进行的。

filter接收lambda,从流中排除某些元素。
map接收lambda,将元素转成其他形式或提取信息。
limit截断流,使元素不超过给定数量。
collect将流转成其他形式。
在这里插入图片描述

记住流只能消费一次!
在这里插入图片描述
流的使用包含三件事:

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

中间操作
在这里插入图片描述
终端操作
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值