JDK8 Stream性能介绍
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"JDK8 Stream性能介绍",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JDK8 Stream性能介绍"吧!一、场景在编写代码
千家信息网最后更新 2025年12月03日JDK8 Stream性能介绍
这篇文章主要讲解了"JDK8 Stream性能介绍",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JDK8 Stream性能介绍"吧!
一、场景
在编写代码时,想用jdk8的stream替换以前的for循环,代码如下:
//for方法Setkeys = Sets.newHashSetWithExpectedSize(list.size());for (T data : list) { keys.add(getWrapRedisKey(data));}//stream方法Set keys = list.stream().map(this::getWrapRedisKey).collect(Collectors.toSet());
二、 问题
stream可以非常优雅的一行代码就解决,而for则需要三行代码,生产力大大提高。
但是for循环可以实现初始化容量,这在频繁add触发rehash、链表转红黑树时,能大大提高性能,那么stream的api的Collectors.toSet方法有没有设置初始化容量。
查看源码:

三、测试
Talking is cheap,show me the code
简单写了一个测试代码
public static void main(String[] args) { int expectSize = 100000; List source = generateData(expectSize); long start = System.currentTimeMillis(); testFor(source); //testStream(source); System.out.println(System.currentTimeMillis() - start);}private static void testFor(List source) { Set sets = Sets.newHashSetWithExpectedSize(source.size()); for (String s : source) { sets.add(s); }}private static void testStream(List source) { source.stream().collect(Collectors.toSet());}private static List generateData(int size) { List list = Lists.newArrayListWithCapacity(size); for(int i = 1; i <= size; i++) { list.add(UUIDUtils.generateId()); } return list;} 结果是10w数据是,for比stream快2-3倍...
四、 结果
在数据量比较大,同时要求相应时间场景下,应该还是使用for或者在使用stream前预设集合容量。
感谢各位的阅读,以上就是"JDK8 Stream性能介绍"的内容了,经过本文的学习后,相信大家对JDK8 Stream性能介绍这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
性能
代码
容量
方法
学习
内容
场景
数据
结果
问题
循环
测试
频繁
优雅
一行
同时
就是
思路
情况
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发需求分析时间占比
浙江能源公司 软件开发
武林外传有几个服务器日服
商洛软件开发分类
数据库无法连接到.
软件开发如何分解需求
3460光谱数据库
网络安全物理层的威胁
做软件开发需要服务器吗
数据库技术应用的方向
中国联通软件开发研究院工资
x3100服务器
我的世界小蜜蜂是什么服务器
我的世界网易版中的建筑服务器
服务器进入管理看运行状态
掌赢网络技术有限公司
网络安全口令破解
主流服务器芯片功耗
联想sr258服务器启动不了
深圳物联网大数据平台软件开发
cs服务器处于脱机状态
铁路网络安全八项注意
软件开发版本分类
松江区软件开发技术咨询哪家好
服务器安全狗修改端口
济南信息工程学校软件开发
重庆存储服务器虚拟主机
db2数据库的图片
最低价网通服务器
网络安全答题获奖名单