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

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

  • 创建流时,对于数据和单列集合直接调用stream方法即可;对于双列集合,需要借助entrySet转换成单列集合,然后再调用stream方法。
  • 中间操作包括filter、map、distinct、sorted、limit、skip、flatMap。每个操作里只有一个方法,一般通过匿名内部类重写方法,可以简化为函数式接口。中间操作的输入是流,输出也是流。
  • 终结操作包括foreach、count、max/min、collect、anyMatch、allMatch、noneMatch、findAny、findFirst、reduce。输入是流,输出是某个特定的类型或遍历流中元素。
相关推荐
亦复何言??3 小时前
机器人强化学习入门笔记(四)
笔记·机器人
今天也好累5 小时前
C语言安全格式化:snprintf核心指南
c语言·笔记·学习·visual studio
老王熬夜敲代码7 小时前
C++万能类:any
开发语言·c++·笔记
智者知已应修善业7 小时前
【数组删除重复数据灵活算法可修改保留重复数量】2024-3-4
c语言·c++·经验分享·笔记·算法
羊群智妍8 小时前
领跑2026 GEO赛道:SHEEP-GEO登顶十大检测平台,解锁品牌AI可见性最优解
笔记·百度·微信·facebook·新浪微博
QT 小鲜肉9 小时前
【Linux命令大全】002.文件传输之uupick命令(实操篇)
linux·运维·服务器·chrome·笔记
QT 小鲜肉9 小时前
【Linux命令大全】003.文档编辑之colrm命令(实操篇)
linux·运维·服务器·chrome·笔记
自不量力的A同学9 小时前
Doris Catalog
笔记
QT 小鲜肉9 小时前
【Linux命令大全】002.文件传输之uucico命令(实操篇)
linux·运维·服务器·chrome·笔记·github
玄同7659 小时前
我是如何开发项目的?——从 “踩坑思维” 到 “工程化能力”:编程学习的进阶方法论(万字版)
开发语言·人工智能·经验分享·笔记·python·学习·课程设计