(译)java8-流定义
Posted PacosonSWJTU
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(译)java8-流定义相关的知识,希望对你有一定的参考价值。
【README】
本文翻译自 Stream In Java - GeeksforGeeks , 主要介绍了java8流;
【1】流
1)流定义:流是支持各种方法的对象序列(一系列对象),这些方法可以流水线化调用以产生期望结果;
重点:java流指的是一个对象队列,或一系列对象;只不过这些对象支持方法流水线化调用;
流水线化的意思是: 多个方法组合在一起处理数据,如 map->filter->sort 3个方法组成流水线对数据处理,其中前一个方法的输出是下一个方法的输入;
2)流特性:
- 流不是数据结构,然而它的输入来自集合,数组,或io通道;
- 流不会改变原始数据结构,流会对每一个流水线方法产生结果;
- 流的每一个中间操作是懒汉式执行,把流作为结果返回,因此各种中断操作可以被流水线化;但终端操作标志着流的结束,并返回最终结果;
小结: 流的操作分为中间操作和终端操作; 中间操作比如 map映射,filter过滤,sort排序 等不会立即执行 ,等到遇到终端操作后,再执行全部中间操作,并输出最终结果;
【2】流操作举例
【2.1】中间操作 (懒汉式)
- map 映射;
- filter 过滤;
- sorted 排序;
【2.2】终端操作 (饿汉式)
- collect 收集;
- forEach 遍历;
- reduce 规约;
《新程序员》:云原生和全面数字化实践 50位技术专家共同创作,文字、视频、音频交互阅读
以上是关于(译)java8-流定义的主要内容,如果未能解决你的问题,请参考以下文章