Java 8 Stream(一、Stream简介及创建方式)

本文介绍了Java 8中Stream的概念,强调了它与Lambda表达式的结合,以及Stream的无修改、不可存储、一次性消费等特性。内容涵盖Stream的创建方式,如从集合、数组和静态方法,并指出Stream主要用于集合操作,支持并发。此外,还预告了后续文章将深入探讨Stream的操作和调试。
摘要由CSDN通过智能技术生成

一、简介

Stream是Java 8新加入的关键抽象概念。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效、干净、简洁的代码。


值得注意的是,大部分使用1.6甚至更早的JDK过渡过来的程序员并不乐于接触和使用Stream,尤其是Stream的灵魂伴侣Lambda表达式。一方面因为每个程序员都有属于自己的一套代码编写风格,而这种风格一旦稳定习惯便很难改变,这在我和一些高级RD交流过程中深有感触;另一方面,使用Stream虽然可以使代码变得简洁高效,但是简洁往往都以可读性的降低为代价,故Stream操作也给调试和排错带来了一些困难,所以我建议尽量不要使用Stream处理复杂的逻辑。任何事物都有两面性,处在当前这个技术爆炸时代应勇于拥抱变化,不是有一句话说每个程序员都有一个改变世界的梦想(此处应该有掌声)。


本系列文章除了完整介绍Stream相关知识,最后也将介绍如何IDEA(原谅我用了IDEA一次之后就无情的抛弃了Eclipse)调试Stream,希望对大家有所帮助。【第一篇博客废话有点多】

二、Stream的特点

(一)支持Lambda表达式

前面也说到了Lambda表达式是Stream的灵魂伴侣,不清楚Lambda表达式的同学请出门右转有一篇Lambda表达式简述。

(二)Pipeline方式

Stream的完整操作均以管道形式完成。

(三)无修改、无存储、只消费一次

Stream的任何操作都不会影响源数据,也不保存任何中间结果。Stream的遍历类似一个Iterator,数据的访问只能是单向不可往复的,故其消费一次后便不再可用。

(四)多用于集合操作

本文只针对集合操作进行介绍。需要注意的是Stream并不支持Array和Map,但可以通过转换来完成,例如Array->List、Map->EntrySet。

(五)可并发操作

parallelStream,并行流除采取并行方式操作数据外均与串行流相同,本文不再做重点介绍。

三、Stream的创建

(一)通过集合创建&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值