List几种遍历方法速度

准备数据

java 复制代码
 ArrayList<Integer> list = new ArrayList<Integer>();
 for (int i = 0; i < 100000000; i++) {
     list.add(i);
}

1.for循环

java 复制代码
 for (int i = 0; i < list.size(); i++) {
     Integer str = list.get(i);
}

2.for-each循环

java 复制代码
 for (Integer vo:list
        ) {

        }

3.Lambda

java 复制代码
 list.forEach(u->{});

迭代器

java 复制代码
Iterator<Integer> itr = list.iterator();
        while(itr.hasNext()){
            Integer str = itr.next();
        }

for循环耗时106毫秒,for-each循环耗时103毫秒,Lambda耗时122毫秒,迭代器耗时100毫秒

从结果看出,for循环、for-each循环、迭代器差不多,Lambda耗时最长

相关推荐
光军oi3 分钟前
java微服务(Springboot篇)——————IDEA搭建第一个Springboot入门项目
java·spring boot·微服务
future14121 小时前
C#每日学习日记
java·学习·c#
一个混子程序员1 小时前
SpringBoot自定义Schedule注解
java
心之语歌1 小时前
Java高效压缩技巧:ZipOutputStream详解
java·后端
booooooty1 小时前
基于Spring AI Alibaba的多智能体RAG应用
java·人工智能·spring·多智能体·rag·spring ai·ai alibaba
猴哥源码1 小时前
基于Java+SpringBoot的健身房管理系统
java·spring boot
极光雨雨1 小时前
Spring Bean 控制销毁顺序的方法总结
java·spring
猴哥源码2 小时前
基于Java+SpringBoot的三国之家网站
java·spring boot
念九_ysl2 小时前
Java 使用 OpenHTMLToPDF + Batik 将含 SVG 遮罩的 HTML 转为 PDF 的完整实践
java·开发语言·pdf
yaoxin5211232 小时前
124. Java 泛型 - 有界类型参数
java·开发语言