(译)java8-流定义

Posted PacosonSWJTU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(译)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 规约;

《新程序员》:云原生和全面数字化实践 50位技术专家共同创作,文字、视频、音频交互阅读

以上是关于(译)java8-流定义的主要内容,如果未能解决你的问题,请参考以下文章

Java8-04-05-笔记

Java8 Stream 流详解

Java8-用流收集数据

java8新特性Stream流操作详解及实战3

java8新特性Stream流操作详解及实战3

java8新特性Stream流操作详解及实战3