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

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

  • 创建流时,对于数据和单列集合直接调用stream方法即可;对于双列集合,需要借助entrySet转换成单列集合,然后再调用stream方法。
  • 中间操作包括filter、map、distinct、sorted、limit、skip、flatMap。每个操作里只有一个方法,一般通过匿名内部类重写方法,可以简化为函数式接口。中间操作的输入是流,输出也是流。
  • 终结操作包括foreach、count、max/min、collect、anyMatch、allMatch、noneMatch、findAny、findFirst、reduce。输入是流,输出是某个特定的类型或遍历流中元素。
相关推荐
gsls2008083 小时前
vue3学习笔记
笔记·vue3
闪闪发亮的小星星3 小时前
asin和atan2的区别 (CPA指向相关)
笔记·其他
瞎某某Blinder3 小时前
DFT学习记录[3]:material project api使用方法 mp_api调取与pymatgen保存
java·笔记·python·学习
IT19953 小时前
Java文档阅读笔记-AI LangChain4j - Agent Multiple Tools Calling Example
java·笔记·文档阅读
liuchangng4 小时前
OpenCode AI编程工具笔记_20260212115022
笔记·ai编程
Coisinilove5 小时前
MATLAB学习笔记——第二章
笔记·学习·matlab
Titan20245 小时前
C++异常学习笔记
c++·笔记·学习
小陈phd6 小时前
多模态大模型学习笔记(五)—— 神经网络激活函数完整指南
人工智能·笔记·神经网络·学习·自然语言处理
wdfk_prog6 小时前
[Linux]学习笔记系列 -- [drivers]char
linux·笔记·学习
深蓝海拓7 小时前
PySide6的QTimeLine详解
笔记·python·qt·学习·pyqt