Stream流式处理详解(通俗易懂)

Stream介绍在没有Stream之前,我们普遍都是使用for循环对集合或者数组进行处理,过程繁琐且代码凌乱,Stream流就很好的解决了这个问题。是我们的代码看起来更加的优雅!

优点:

1.直接阅读代码的字面意思即可完美展示无关逻辑方式的语义。

2.Stream流把真正的函数式编程风格引入到Java中,使我们的代码更加简洁且优雅。

好了!我们开始进入正题吧,来看一下Stream流的优雅吧!

------------------------------------------------------------->

 首先我们在集合中添加一些数据,过滤出开头为李的名称并且只要长度为2的数据。

优雅~~~

来画图深刻的理解一下吧!

Stream流的三类方法

获取Stream:流创建一条流水线,并把数据放到流水线上准备。

中间方法流水线上的操作一次操作完毕之后,还可以继续进行其他操作。

终结方法:一个Stream流只能有一个终结方法是流水线上的最后一个操作。

生成Stream流的方式

Collection体系集合---->使用默认方法stream()生成流, default Stream<E> stream()

Map体系集合---->把Map转成Set集合,间接的生成流

数组---->通过Arrays中的静态方法stream生成流

同种数据类型的多个数据---->通过Stream接口的静态方法of(T... values)生成流

Stream流中间操作方法

 limit&skip代码演示------->

 concat&distinct代码演示------->

这里我们添加了两条“李宁,彪马”,进行去重之后,只剩一条!

Stream流终结操作方法

 forEach咋门上面已经演示过了,就是遍历打印流里面的数据,现在咋们来测试一下count();

count 代码演示-------> 我们看见,返回的是一个long类型的数值,打印出来正式集合中元素的个数。

Stream流的收集操作

概念:对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中,就像工厂的流水线,来一个原始的物品,上流水线,进行处理,然后打包!

常用方法:

Collectors提供了具体的收集方式

 直接上代码~

filter:负责过滤数据的

collect:负责收集数据.获取流中剩余的数据,但是他不负责创建容器,也不负责把数据添加到容器中

Collectors.toList() : 在底层会创建一个List集合.并把所有的数据添加到List集合中.

上面是单列集合的收集方式,那双列集合的尼?看下面,上代码 ~~~

  Collect方法只能获取到流中剩余的每一个数据在底层不能创建容器,也不能把数据添加到容器中

  Collectors.toMap 创建一个map集合并将数据添加到集合当中。
 

 

感觉有收获的话,记得给点个赞o,撒拉嘿~~~

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值