lamda中stream的forEach与for循环对比

lamda中stream的forEach与for循环对比对比方式将一个字符串数组进行输出的方式:代码publicstaticvoidmain(String[]args)throwsIOException{intn=500000;String[]strings=newString[n];LongstreamStart=System.currentTimeMillis();Arrays.stream(strings).forEach(System

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

对比方式

  • 将一个字符串数组进行输出的方式:
  • 代码

    public static void main(String[] args) throws IOException { 
   
        int n=500000;
        String[] strings = new String[n];
        Long streamStart = System.currentTimeMillis();
        Arrays.stream(strings).forEach(System.out::println);
        Long streamEnd = System.currentTimeMillis();
        for (int i = 0; i < n; i++) { 
   
            System.out.println();
        }
        Long forEnd = System.currentTimeMillis();

        System.out.println("stream forEach 运行时间:" + (streamEnd - streamStart));
        System.out.println("for循环 运行时间:" + (forEnd - streamEnd));

    }

Jetbrains全家桶1年46,售后保障稳定

  • 数据运行表格
数组长度 for循环(ms) stream的forEach(ms)
100 1 31
1000 6 52
5000 22 62
10000 33 89
20000 75 168
50000 249 276
80000 534 432
100000 696 454
500000 904 2704
1000000 1740 3616
  • 截图(按照表格截图)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1000组数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
1000000
在这里插入图片描述
500000
在这里插入图片描述

总结

循环大概在50000大小的时候for循环就开始慢慢运行时间大于forEach,在50000数据之前都是for循环优势。但是当我直接加到1000000大小时发现for循环的速度优势又回来了,又测试了500000发现依然是for循环优势。
所以大概率下,几万几万数据时forEach速度是领先的。小数据和极大数据下for循环领先,所以推荐使用for循环,一般业务中很少有几万数据去循环。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234403.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月5日 下午5:43
下一篇 2025年6月5日 下午6:22


相关推荐

  • java少儿编程 pdf_Java少儿编程

    第0章 被称作黑魔法的编程1书写魔法:算法 2第 1章咒语之书 6你好,世界 8我们的第 一次实践 11第 2章变量宝藏 14什么是变量 14运算符 18第0章 被称作黑魔法的编程1书写魔法:算法 2第 1章咒语之书 6你好,世界 8我们的第 一次实践 11第 2章变量宝藏 14什么是变量 14运算符 18关于变量和运算符的一些挑战 21电子存钱罐 23附录:你还可以用字符…

    2022年4月7日
    62
  • QQ盗号软件后门分析与反击

    QQ盗号软件后门分析与反击来源:fhod’sBlog作者:fhod小财说明:文章已发表于***手册07年10期,转载请注明出处!对明小子QQ密码特工软件的分析—-小财今天无聊给一朋友讲解QQ盗取原理,从网上找了一个工具“明小子QQ密码特工”结果发现这个软件有后门。下面就让我带着大家来分析一下。首先我们用nod32来查一下有没有毒。图1看到了吧没有病毒。我们把监控打开…

    2022年6月15日
    44
  • Java IO体系之OutputStreamWriter

    Java IO体系之OutputStreamWriter介绍字符输出流Writer的实现类继承关系图源码packagejava.io;importjava.nio.charset.Charset;importjava.nio.charset.CharsetEncoder;importsun.nio.cs.StreamEncoder;publicclassOutputStreamWriterextendsWri…

    2025年10月29日
    6
  • 如何将excel表格导入mysql数据库_MySQL数据库

    如何将excel表格导入mysql数据库_MySQL数据库怎么把excel里的数据导入数据库中的表中打开企业管理器开要导入数数据库,在表上按右键,所务–>导入数据,弹出DTS导入/导出向导,按下一步,2、选择数据源MicrosoftExcel97-2000,文件名选择要导入的xls文件,按下一步,3、选择目的用于SQLServer的MicrosoftOLEDB提供程序,服务器选择本地(如果是本地数据库的话,如VVV…

    2026年2月9日
    6
  • (4)JMeter元件详解之 Runtime Controller运行时间控制器

    (4)JMeter元件详解之 Runtime Controller运行时间控制器

    2021年7月13日
    98
  • 益友随笔之:用Deepseek+剪映做暖心治愈情感文案,5分钟教会你(附提示词教程)

    益友随笔之:用Deepseek+剪映做暖心治愈情感文案,5分钟教会你(附提示词教程)

    2026年3月13日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号