深入理解Java8-Stream

微信公众号:朱小猿
山不辞土,故能成其高;海不辞水,故能成其深!
如果你觉得此文章对您有帮助,欢迎关注、转发、点赞[^1]

深入理解Java8-Stream

Stream流

1. 流的构成部分
  • 零个或多个中间操作
  • 终止操作
2.流操作的分类
  • 惰性求值
    • 可以采用链式方式调用,真正调用的时候才会被执行
  • 及早求值
    • 调用的时候就开始计算结果
3.流的本质
  • Collection提供了新的stream()方法
  • 流不存储值,通过管道的方式获取值
  • 本质是函数式的,对流的操作会生成一个结果,不过并不会修改底层的数据源,集合可以作为流的底层数据源
  • 延迟查找,很多流操作(过滤、映射、排序等)都可以实现延迟加载
4.Stream
  • 和迭代器不同的是,Stream可以并行化操作,迭代器只能命令式地、串行化操作
  • 当使用串行方式去遍历时,每个item读完后在读下一个item
  • 使用并行去遍历时,数据会被分成多个段,其中每一个都在不同线程中处理,然后将结果一起输出
  • Stream的并行操作依赖于Java7中引入的fork/Join框架

流与迭代器类似点:流是无法重复使用或消费的

中间操作:都会返回一个Stream对象,比如说返回Stream

终止操作:没有Stream对象返回,可能不返回值,也可能返回其他类型的单个值

下面的是我的公众号二维码图片,欢迎关注。
图注:朱小猿公众号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值