当我第一次在项目代码中看到 Stream 流的时候, 心里不由得骂了一句 "傻 X" 炫什么技. 当我开始尝试在代码中使用 Stream 时, 不由得感叹真香.
记得以前有朋友聊天说, 他在代码中用了 Lambda 表达式结果 CodeReview 的时候老大让它改了. 我在 "第三章 Stream 流" 写了,"简洁的后果就是, 代码变得不那么好读, 其实并不是代码的可读性降低了, 而只是代码不是按照你的习惯去写的". 人们不愿意去改变, 因为改变似乎会给他带来风险, 会让他在未知的领域不知所措, 甚至被淘汰. 所以人们开始找一些借口, 可读性不高, 炫技, 难以调试, 难以维护......
如果你从未了解过或者对 Java8 的 Stream 知之甚少, 我建议可以从第一章开始慢慢品慢慢实践, 如果你需要救急需要急切的知道怎么使 List 转换为 Map 结构等实际的场景, 那么我建议你可以直接跳转到 "第五章 Stream 流编码实战", 我相信在第五章已经涵盖了大部分场景, 也期待你能根据示例代码就能编写出符合自身业务的代码. 如果有其他没有覆盖到的场景, 我也非常期待你能通过公众号 "CoderBuff" 与我交流.
《Java8 Stream 编码实战》的代码全部在 https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/stream-coding, 一定要配合源码阅读, 并且不断加以实践, 才能更好的掌握 Stream.
第一章 认识 Java8 以及函数式编程, 第二章 Lambda 表达式: 快速介绍函数式编程的知识, 想直接学习 Stream 可以跳过.
第三章 Stream 流: 正式介绍 Stream 流的常用操作.
第四章 并行化 Stream 流: 介绍并行化流, 并对比 for 循环, 串行化流, 并行化流性能.
第五章 Stream 流编码实战: 这章是重点, 而且我也强烈建议把这章摘下来, 当做应急手册, 随时翻阅手册解决实际编码中遇到的场景.
第六章 调试与重构: IDEA 编译器从 2019 年的版本已经新增了对 Stream 流的调试功能, 不要再说 Stream 不好调试了.
老规矩, 后面几天, 我会连续推送《Java8 Stream 编码实战》中的内容, 如果有朋友想要一睹为快, 也可直接在公众号中 (CoderBuff) 回复 "stream" 抢先获取 PDF 完整版.
近期教程:
《ElasticSearch6.x 实战教程》
《Redis5.x 入门教程》
这是一个能给程序员加 buff 的公众号 (CoderBuff)
来源: https://www.cnblogs.com/yulinfeng/p/12527488.html