Java之Stream流的笔记--手写版

Stream流通过讲集合或数组转换成链状流式的结构,简化了集合和数组进行排序、筛选、遍历、去重、统计等操作。主要包括创建流、中间操作、终结操作。若流中无终结操作,则中间操作不会执行;流是一次性的,使用完就会失效,不会影响原数据。

  • 创建流时,对于数据和单列集合直接调用stream方法即可;对于双列集合,需要借助entrySet转换成单列集合,然后再调用stream方法。
  • 中间操作包括filter、map、distinct、sorted、limit、skip、flatMap。每个操作里只有一个方法,一般通过匿名内部类重写方法,可以简化为函数式接口。中间操作的输入是流,输出也是流。
  • 终结操作包括foreach、count、max/min、collect、anyMatch、allMatch、noneMatch、findAny、findFirst、reduce。输入是流,输出是某个特定的类型或遍历流中元素。
相关推荐
Rabitebla38 分钟前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
叼烟扛炮1 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain
景煜拾年2 小时前
InnoAI SQL 助手
运维·数据库·笔记·sql
旖旎夜光2 小时前
【C++ 基础入门】类和对象(下):初始化列表、static 成员、友元与内部类
c++·笔记·学习
LONGZHIQIN2 小时前
STM32学习笔记
笔记·stm32·学习·arm
叼烟扛炮2 小时前
[LangChain] 学习笔记(04):手搓 ChatGPT 打字机——流式输出(SSE)与模型初始化选型
人工智能·笔记·chatgpt·langchain
李帅朋3 小时前
INP-Former阅读笔记
笔记·深度学习·计算机视觉
叼烟扛炮3 小时前
Linux 学习笔记(六十一):网络编程毕业设计——Reactor 反应堆模式
linux·网络·笔记·学习·课程设计
科小怪3 小时前
Obsidian 下载安装:官网下太慢?笔记存自己电脑,不注册不联网
笔记·下载教程·obsidion
叼烟扛炮5 小时前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php