news 2026/8/6 5:46:01

Java stream流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 5:44:05

数据库原理与应用核心知识:从关系模型到事务索引的实战解析

1. 临阵磨枪&#xff1a;为什么数据库原理与应用值得你花时间又到期末了&#xff0c;看着《数据库原理与应用》这门课&#xff0c;是不是感觉知识点又多又杂&#xff0c;从关系代数到SQL&#xff0c;从范式到事务&#xff0c;每个字都认识&#xff0c;连起来就头疼&#xff1f;…

作者头像 李华
网站建设 2026/8/6 5:41:02

数据库作业4

关闭防火墙 systemctl stop firewalld systemctl disable firewalld sed -i 7s/enforcing/disabled/ /etc/selinux/config 安装源码配置需求 dnf install -y gcc gcc-c make cmake zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel libffi-…

作者头像 李华
网站建设 2026/8/6 5:39:20

诊断调查表表单体系全解析:从动态表单到数据存储的工程实践

1. 项目概述&#xff1a;从“填表”到“读心”的跨越每次看到一份诊断调查表&#xff0c;无论是用户满意度调研、员工敬业度评估&#xff0c;还是健康风险筛查&#xff0c;我的第一反应不再是“又要填表了”&#xff0c;而是“设计者到底想从这里挖出什么信息&#xff1f;”。这…

作者头像 李华
网站建设 2026/8/6 5:38:28

储能系统接地电阻柜选型与安全防护技术解析

1. 储能系统中的安全挑战与接地需求在新能源发电占比不断提升的今天&#xff0c;储能系统已成为电网稳定运行的关键基础设施。我参与过多个大型储能电站的调试工作&#xff0c;亲眼目睹过因接地不良引发的恶性事故。去年某30MW/60MWh的磷酸铁锂储能项目&#xff0c;就曾因雷击导…

作者头像 李华