发布时间:2026/6/13 15:57:29
Stream流式编程
1.Stream流是什么Stream 是JDK 8新增的流式编程 API专门用来简化集合 / 数组的数据处理。分为两大类中间操作链式调用延迟执行返回新流可连续调用终端操作触发整个流执行执行后流关闭不能再使用.二、完整方法分类 功能 示例一、获取流创建流方法作用集合.stream()普通集合获取串行流最常用集合.parallelStream()获取并行流多线程处理数据Arrays.stream(数组)数组转流Stream.of(元素...)快速创建流ListString list new ArrayList(); StreamString stream list.stream();二、中间操作链式调用不立即执行1.map映射一对一转换重点核心每个元素转为另一个值 / 类型元素数量不变常用场景对象提取字段数值计算、字符串加工类型转换对象→字符串、字符串→数字等// 提取字段 list.stream().map(item - item.getName()); // 数值运算 list.stream().map(n - n * 2); // 类型转换 list.stream().map(Integer::parseInt);2.filter过滤核心按条件剔除元素保留符合条件的// 保留大于5的数字 stream.filter(n - n 5);3.sorted排序sorted()自然升序默认sorted(比较器)自定义排序降序、按对象字段排序stream.sorted(); stream.sorted((a,b) - b - a); // 降序4.distinct去重基于equals()去除重复元素stream.distinct();5.limit截取截取前 N 个元素stream.limit(3); // 只取前3个6.skip跳过跳过前 N 个元素stream.skip(2); // 跳过前2个7.flatMap扁平化一对多把嵌套集合拆成单层流一个元素变多个元素和map区分map一对一flatMap一对多// 把 ListListInteger 拆成普通 Integer 流 stream.flatMap(Collection::stream);8. 基础类型专用 map优化装箱mapToInt()转IntStreammapToLong()转LongStreammapToDouble()转DoubleStream多用于数值求和、求平均等计算。三、终端操作触发执行结束流1.forEach遍历逐个消费元素做输出、执行逻辑stream.forEach(System.out::println);2.collect收集最常用把流转回集合 / 字符串 / 分组等结构Collectors.toList()收集为 ListCollectors.toSet()收集为 Set自动去重Collectors.toMap()收集为 MapCollectors.groupingBy()分组Collectors.joining()字符串拼接// 收集为Set你代码里的用法 stream.collect(Collectors.toSet());3.count统计数量返回流中元素总个数返回值longlong num stream.count();4.max/min最大 / 最小值获取流中最值返回Optional防止空指针stream.max(Integer::compareTo); stream.min(Integer::compareTo);5. 匹配判断返回 booleananyMatch(条件)任意一个满足条件 → trueallMatch(条件)全部满足条件 → truenoneMatch(条件)全部不满足条件 → truestream.anyMatch(n - n 10);6.reduce归约聚合把所有元素反复合并为单个结果常用于求和、求乘积、字符串拼接// 求和 stream.reduce(0, Integer::sum);7.findFirst/findAny取值findFirst()获取流第一个元素findAny()获取任意一个元素并行流常用三、核心口诀 区分方便记忆map提取字段、转换值、换类型一对一filter按条件筛数据sorted排序、distinct去重limit/skip截取、跳过flatMap拆嵌套集合一对多collect流转回集合收尾必备其余遍历、统计、匹配、取最值

相关新闻

Linux irq_set_affinity中断亲和力设置与chip_irq_set
2026/6/13 15:57:29

Linux irq_set_affinity中断亲和力设置与chip_irq_set

Linux irq_set_affinity中断亲和力设置与chip_irq_set中断亲和力(IRQ Affinity)是Linux内核将特定中断绑定到指定CPU核心执行的机制。通过设置irq_desc的affinity掩码,可以控制中断路由到哪些CPU,实现负载均衡和性能优化。核心接口…

阅读更多
四足机器人ROS2 SDK实战:从WebRTC连接到自主导航
2026/6/13 15:57:29

四足机器人ROS2 SDK实战:从WebRTC连接到自主导航

四足机器人ROS2 SDK实战:从WebRTC连接到自主导航 【免费下载链接】go2_ros2_sdk Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU 项目地址: https://gitcode.com/gh_mirrors/go/go2_ros2_sdk 在四足机器人开发领域,Unitree GO2系列机器…

阅读更多
前端开发必看:你的innerHTML用对了吗?从一次DOM XSS漏洞排查说起
2026/6/13 14:57:29

前端开发必看:你的innerHTML用对了吗?从一次DOM XSS漏洞排查说起

前端安全实战:从innerHTML误用到DOM XSS防御体系构建那天凌晨三点,当我被安全团队的紧急电话惊醒时,怎么也没想到问题出在那行看似无害的innerHTML赋值语句上。我们的用户数据面板突然出现异常弹窗,而罪魁祸首正是开发时为了赶进度…

阅读更多
MuleSoft驱动的企业级AI编排:LLM与业务系统深度集成实践
2026/6/14 0:57:30

MuleSoft驱动的企业级AI编排:LLM与业务系统深度集成实践

1. 项目概述:当企业级集成平台遇上大语言模型“AI Orchestration in Action: How MuleSoft and LLMs Fuel the Future of Enterprise AI”——这个标题不是一句空泛的营销口号,而是我在过去18个月里亲手搭建、上线并持续迭代的三个核心生产系统的统一命名…

阅读更多
数据反熵自动化:构建可自愈的数据一致性系统
2026/6/14 0:57:30

数据反熵自动化:构建可自愈的数据一致性系统

1. 项目概述:这不是“数据修复”,而是让系统自己学会“纠错”和“自愈”“Data Anti-Entropy Automation”——这个标题乍看像学术论文里的术语,但在我过去十年带团队做数据平台、治理中台和实时数仓的实战里,它其实对应着一个每天…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/14 0:57:30

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来,我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊,而是因为熟悉&…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/14 0:57:30

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述:这不是“写提示词”,而是重构人机协作的底层逻辑“Prompt Engineering”这个词,这两年被讲得太多,也太轻飘。很多人把它理解成“给AI发指令的技巧”,甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/14 0:57:30

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT:用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域,文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
美国政府禁 Fable/Mythos,AI 市场或生变,大语言模型未来使用成谜?
2026/6/13 23:57:30

美国政府禁 Fable/Mythos,AI 市场或生变,大语言模型未来使用成谜?

美国政府禁 Fable/Mythos,AI 市场或将生变,未来大语言模型使用成谜?本来周五我打算放松一下,一边让智能代理帮我写代码,一边和朋友们看足球赛。我最近在做有趣的 HTML 游戏,还写了篇草稿文章探讨如何借助 A…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/14 0:57:30

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT:用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域,文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/14 0:57:30

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述:这不是“写提示词”,而是重构人机协作的底层逻辑“Prompt Engineering”这个词,这两年被讲得太多,也太轻飘。很多人把它理解成“给AI发指令的技巧”,甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/14 0:57:30

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来,我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊,而是因为熟悉&…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/14 0:57:30

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT:用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域,文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/14 0:57:30

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述:这不是“写提示词”,而是重构人机协作的底层逻辑“Prompt Engineering”这个词,这两年被讲得太多,也太轻飘。很多人把它理解成“给AI发指令的技巧”,甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/14 0:57:30

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来,我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊,而是因为熟悉&…

阅读更多
GIT修改用户名
2026/6/13 10:50:23

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/13 15:45:46

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/13 11:10:35

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多