(译)java8-流定义

【README】

本文翻译自 Stream In Java - GeeksforGeeks , 主要介绍了java8流;


【1】流

1)流定义:流是支持各种方法的对象序列(一系列对象),这些方法可以流水线化调用以产生期望结果;

重点:java流指的是一个对象队列,或一系列对象;只不过这些对象支持方法流水线化调用

流水线化的意思是: 多个方法组合在一起处理数据,如 map->filter->sort 3个方法组成流水线对数据处理,其中前一个方法的输出是下一个方法的输入;

2)流特性:

  1. 流不是数据结构,然而它的输入来自集合,数组,或io通道;
  2. 流不会改变原始数据结构,流会对每一个流水线方法产生结果;
  3. 流的每一个中间操作是懒汉式执行,把流作为结果返回,因此各种中断操作可以被流水线化;但终端操作标志着流的结束,并返回最终结果;

小结: 流的操作分为中间操作和终端操作; 中间操作比如 map映射,filter过滤,sort排序 等不会立即执行 ,等到遇到终端操作后,再执行全部中间操作,并输出最终结果;


【2】流操作举例

【2.1】中间操作 (懒汉式)

  • map 映射;
  • filter 过滤;
  • sorted 排序;

【2.2】终端操作 (饿汉式)

  • collect 收集;
  • forEach 遍历;
  • reduce 规约;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值