Java 1.8 Stream 流

更新时间 2023-08-03 13:09:03

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1800+ 小伙伴加入学习 ,欢迎点击围观

Java 1.8 引入了 Stream API,它是处理集合数据的新方式,提供了更加便捷、高效、灵活的操作方法。Stream API 是函数式编程的一部分,它允许开发者以声明式的方式对数据进行处理,而无需关心具体的实现细节。

什么是 Stream?

Stream 是一个来自数据源的元素队列,并支持聚合操作。它是用于对集合数据(包括列表、集合、数组等)进行操作的工具。Stream API 可以让你以一种更加简洁和可读性强的方式处理数据。

Stream API 不直接修改数据源,而是通过将操作应用于 Stream 上来返回新的 Stream,并保留原有数据源的不变性。

Stream 的特点

Stream API 具有以下几个重要的特点:

  1. 声明式:你可以以声明式的方式编写代码,描述要完成的任务,而无需关心具体的实现细节。
  2. 可复用:Stream 是可以复用的,你可以对同一个数据源进行多次操作。
  3. 惰性执行:Stream 的操作是惰性执行的,只有在最终需要结果时才会执行,这样可以避免不必要的计算。
  4. 并行处理:Stream API 支持并行处理,可以充分利用多核处理器的性能。

使用 Stream

使用 Stream API 分为三个步骤:

  1. 获取数据源:你可以从列表、集合、数组等数据源中获取一个 Stream 对象。
  2. 中间操作:对获取的 Stream 进行中间操作,例如筛选、映射、排序等。
  3. 终端操作:对中间操作后的 Stream 进行终端操作,例如转换成一个新的集合等。

让我们开始步入学习的旅程吧!Go !

章节目录
1. Filter 过滤
2. Sorted 排序
3. Map 转换
4. Match 匹配
5. Count 计数
6. Reduce 规约