Java 中 List 的 7 种遍历方式 及 性能对比

csharp 复制代码
# for i 循环
for (int i = 0; i < list.size(); i++) {
    list.get(i);
}

# 增强for循环
for (int item : list) {
}

# iterator for 循环
for (Iterator<Integer> iterator = list.iterator(); iterator.hasNext(); ) {
    iterator.next();
}

# iterator while 循环
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
    iterator.next();
}

# list.forEach 循环
list.forEach(item -> {
});

# list.stream().forEach 循环
list.stream().forEach(item -> {
});

# list.parallelStream().forEach 循环
 list.parallelStream().forEach(item -> {
 });

性能比较

java 复制代码
每种循环各遍历10000_0000次 total cost time : 699 ms
for i 循环                                 : 63 ms, 9.01%
iterator for 循环                          : 89 ms, 12.73%
iterator while 循环                        : 86 ms, 12.30%
for Boost 循环                             : 161 ms, 23.03%
list.forEach 循环                          : 115 ms, 16.45%
list.stream().forEach 循环                 : 115 ms, 16.45%
list.parallelStream().forEach 循环         : 66 ms, 9.44%

参考

Java 中 List 的5种遍历方式

相关推荐
neo_Ggx239 小时前
Maven 版本管理详解:SNAPSHOT、Release 与 Nexus 仓库的区别和影响
java·maven
matlabgoodboy10 小时前
软件开发定制小程序APP帮代做java代码代编写C语言设计python编程
java·c语言·小程序
江离w10 小时前
新版vibecoding项目初始化指令
java
yuan1999710 小时前
基于 C# 实现的 Omron HostLink (FINS) 协议 PLC 通讯
开发语言·c#
tongluowan00710 小时前
Spring MVC 底层工作流程+源码分析
java·spring·mvc
qq_4228286210 小时前
android图形学之SurfaceControl和Surface的关系 五
android·开发语言·python
java1234_小锋11 小时前
SpringBoot为什么要禁止循环依赖?
java·数据库·spring boot
如竟没有火炬11 小时前
用队列实现栈
开发语言·数据结构·python·算法·leetcode·深度优先
折哥的程序人生 · 物流技术专研11 小时前
《Java 100 天进阶之路》第17篇:Java常用包装类与自动装箱拆箱深入
java·开发语言·后端·面试
RH23121111 小时前
2026.5.12 Linux
java·linux·数据结构