JavaJava8中的Stream

Posted sysu_lluozh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaJava8中的Stream相关的知识,希望对你有一定的参考价值。

一、Stream的理解

Stream是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等

在Java8中Stream API作为数据渠道,用于操作数组或者集合等数据源。流本身是不存储数据的,只是移动数据,在移动过程中可能会对数据进行过滤,排序或者其它操作,但是,大多数情况下,流操作本身不会修改数据源,比如,对流排序不会修改数据源的顺序。它只是会创建一个新的流,其中包含排序后的结果

在java中称Stream为流,经常会用流去对集合进行一些流水线的操作。stream就像工厂一样,只需要把集合、命令还有一些参数灌输到流水线中去,就可以加工成得出想要的结果。这样的流水线能大大简洁代码,减少操作

二、Stream流程

原集合 —> 流  —> 各种操作(过滤、分组、统计)> 终端操作

Stream流的操作流程一般都是:

  1. 将集合转为流
  2. 经过各种操作,比如过滤、筛选、分组、计算
  3. 终端操作,转化成想要的数据(数据的形式一般是集合,有时也会按照需求输出count计数)

以上是关于JavaJava8中的Stream的主要内容,如果未能解决你的问题,请参考以下文章

JavaJava8中的Stream

JavaJava8中的Stream

JavaJava8新特性之接口默认方法与静态方法

Stream

Java 8 Stream实践

Java 8 Stream实践