当前位置: 首页 > news >正文

Java stream流

1.1为什么要用Stream流.

简化集合操作的

1.2 Stream流的三类方法


forEach指的是为每一个元素执行操作
获取Stream流
创建一条流水线,并把数据放到流水线上准备进行操作
中间方法
流水线上的操作。
一次操作完毕之后,还可以继续进行其他操作。
终结方法
一个Stream流只能有一个终结方法
是流水线上的最后一个操作

1.3 Stream流的获取方法


单列集合
可以使用Collection接口中的默认方法stream()生成流default Stream stream()
双列集合
间接的生成流
可以先通过keySet或者entrySet获取一个Set集合,再获取Stream流
数组
数组:Arrays.stream(数组) / Stream.of(数组);

同种数据类型的多个数据

1,2,3,4,5….

“aaa”,“bbb”,“ccc”….
使用Stream.of(T…values)生成流

代码:

1.4 Stream流的常见中间操作方法


Stream filter(Predicate predicate):用于对流中的数据进行过滤

Stream limit(long maxSize):截取指定参数个数的数据取集合中的前几个
Stream skip(long n):跳过指定参数个数的数据 跳过集合中的前几个

static Stream concat(Stream a, Stream b):合并a和b两个流为一个流

Stream distinct():去除流中重复的元素。依赖(hashCode和equals方法)

map(Function(<? Super T>,<? Extends R> mapper)):数据类型转化

1.5 Stream流的常见终结操作方法


void forEach(Consumer action):对此流的每个元素执行操作
Consumer接口中的方法 void accept(T t):对给定的参数执行此操作
long count():返回此流中的元素数

补充

1.6 Stream流的收集操作


使用Stream流的方式操作完毕之后,我想把流中的数据起来,该怎么办呢?
Stream流的收集方法
R collect(Collector collector)
工具类Collectors提供了具体的收集方式
public static Collector toList():把元素收集到List集合中
public static Collector toSet():把元素收集到Set集合中
public static Collector toMap(Function keyMapper,Function valueMapper):把元素收集到Map集合中

1.7 总结


1.Stream流的作用
结合了Lambda表达式,简化集合、数组的操作
2.stream的使用步骤
a.获取Stream流对象
b.使用中间方法处理数据
c. 使用终结方法处理数据
3.如何获取Stream流对象
a.单列集合: Collection中的默认方法stream
b.双列集合:不能直接获取
c. 数组: Arrays工具类型中的静态方法stream
d.一堆零散的数据: stream接口中的静态方法of
4.常见方法
中间方法:filter, limit, skip, distinct, concat, map
终结方法:forEach, count, collect

http://www.jsqmd.com/news/1337805/

相关文章:

  • 深入解析中断、异常与系统调用:计算机底层核心机制与实战调试
  • CMOS模拟电路线性化技术:权衡艺术与工程实践
  • 正余弦优化算法(SCA)原理详解与Python工程实践
  • Java开发环境搭建指南:从JDK 11安装到IntelliJ IDEA配置全解析
  • 贝塔无限的技术壁垒与最先落地场景:一份行业对比与选型参考
  • AI脚本自动化:Illustrator自动角线生成原理与实现
  • CC Unity Tools URP版:解决角色资源导入与渲染难题的完整指南
  • 从工具到伙伴:构建进化型AI数字员工的核心架构与实战指南
  • 重庆靠谱的嵌入设计工厂怎么选?2026本地源头实测解析 - 品牌优推
  • 深入解析MOSFET共源放大器频率响应:从米勒效应到增益带宽积
  • 2026 年新发布:方城比较好的dn200钢拍门制造厂家有哪些,别不信!这款水利关键部件竟能帮你省近半运维成本? - 实业推荐官
  • 从零搭建高可用自动化测试框架:Pytest、POM与CI/CD实战指南
  • 技术人的情感共鸣:从《Oracle》歌曲看程序员文化中的艺术表达
  • 密码合规校验:从GESP真题到工程实践的设计与优化
  • 芯片设计数模混仿入门:VCS、XA与Verdi工具链实战解析
  • 嵌入式Linux触摸屏驱动与电子相册开发实战
  • 2026 年至今,福贡性价比高的蛙人作业施工厂家哪家好,水下藏着的神秘身影,竟是在完成这常人难及的特殊作业?-蔚莱水下打捞 - 企业官方推荐【认证】
  • Python面向对象深度实战:多继承MRO机制与Tkinter GUI应用开发
  • 使用Microsoft Threat Modeling Tool 2019为Web应用绘制主动防御安全蓝图
  • SpringBoot+Vue高校科研管理系统架构设计与实践
  • MATLAB在雷达信号仿真与LFM信号处理中的应用
  • 直流有刷电机电流环控制:从硬件设计到PID整定的嵌入式实现
  • 战略敏捷:从概念到实践,打造团队在不确定性中的导航能力
  • Cloudflare Workers生产级实战指南:从核心原理到高级架构
  • Xshell配置SSH密钥登录Linux服务器:从原理到实战的完整指南
  • 2026婚恋庆典一站式服务靠谱商家实测**,采购不踩坑避坑指南 - 工业推荐榜
  • 0.1秒极限挑战:高并发与实时渲染下的多条件状态检测技术实现
  • Unity动态路径规划:Curvy Spline实现平滑运动与A*算法结合
  • ADC与DAC:连接模拟与数字世界的桥梁及其工程实践
  • 南京百度网站建设全攻略:中小企业如何借力搜索引擎实现流量变现与品牌突围