JavaJava8中的Stream
Posted sysu_lluozh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaJava8中的Stream相关的知识,希望对你有一定的参考价值。
一、Stream的理解
Stream是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等
在Java8中Stream API作为数据渠道,用于操作数组或者集合等数据源。流本身是不存储数据的,只是移动数据,在移动过程中可能会对数据进行过滤,排序或者其它操作,但是,大多数情况下,流操作本身不会修改数据源,比如,对流排序不会修改数据源的顺序。它只是会创建一个新的流,其中包含排序后的结果
在java中称Stream为流,经常会用流去对集合进行一些流水线的操作。stream就像工厂一样,只需要把集合、命令还有一些参数灌输到流水线中去,就可以加工成得出想要的结果。这样的流水线能大大简洁代码,减少操作
二、Stream流程
原集合 —> 流 —> 各种操作(过滤、分组、统计) —> 终端操作
Stream流的操作流程一般都是:
- 将集合转为流
- 经过各种操作,比如过滤、筛选、分组、计算
- 终端操作,转化成想要的数据(数据的形式一般是集合,有时也会按照需求输出count计数)
以上是关于JavaJava8中的Stream的主要内容,如果未能解决你的问题,请参考以下文章