照着敲一遍,保证你彻底掌握 Stream ~

25bc566d8bd000b4386be7a1a6d80276.png

若有收获,请记得分享和转发哦

一、概述

Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。

简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。

特点:

  1. 不是数据结构,不会保存数据。

  2. 不会修改原来的数据源,它会将操作后的数据保存到另外一个对象中。(保留意见:毕竟peek方法可以修改流中元素)

  3. 惰性求值,流在中间处理过程中,只是对操作进行了记录,并不会立即执行,需要等到执行终止操作的时候才会进行实际的计算。

二、操作分类

下图是对Stream API进行分类

8a4096b96bf6c97eb6595d5d05a43d1c.png

解释说明:

  • 无状态: 指元素的处理不受之前元素的影响;

  • 有状态: 指该操作只有拿到所有元素之后才能继续下去。

  • 非短路操作: 指必须处理所有元素才能得到最终结果;

  • 短路操作: 指遇到某些符合条件的元素就可以得到最终结果,如 A || B,只要A为true,则无需判断B的结果。

f158bd95fd91eb9e0b37edb49bf4fe6f.png

cd3ae90eb639287ee638fa9f0be49106.png

b3eec598c47b13b19cac85dc96b64959.png

dcb3d275712f2e82fbac3239d465552c.png

01d1b60daff96ad752be162b6036893e.png

e366c052cee849cdd971f29f2bffe52d.png

937212358adf7b8cd6474a3a333dd627.png

101858fd05cf75cd3ca5d4bb382655ba.png

51f0b1befed6c84266baf5607a221809.png

c96ca495593ae0b9acba7e1bf824aca6.png

9f455f8a1d2356faa0cef0b337daf2ad.png

93d68de1368239b0f0f182d49b1ed278.png

3881402da857aec58f39abd924bda835.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值