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种遍历方式

相关推荐
Mr.Jessy3 分钟前
Web APIs 学习第六天:BOM、location对象与本地存储
开发语言·前端·javascript·学习·web api·bom
LIZhang201619 分钟前
基于ffmpeg8.0录制mp4文件
开发语言·c++
咕白m62524 分钟前
基于Java 实现 PPT 到 PDF 的高效转换
java
_OP_CHEN26 分钟前
C++进阶:(九)深度剖析unordered_map 与 unordered_set容器
开发语言·c++·stl容器·哈希表·哈希桶·unordered_map·unordered_set
七夜zippoe28 分钟前
Java并发编程基石:深入理解JMM(Java内存模型)与Happens-Before规则
java·开发语言·spring·jmm·happens-before
Mark Studio39 分钟前
QT linux 静态编译问题记录
开发语言·qt
YDS8291 小时前
苍穹外卖 —— Spring Task和WebSocket的运用以及订单统一处理、订单的提醒和催单功能的实现
java·spring boot·后端·websocket·spring
速易达网络1 小时前
C语言常见推理题
java·c语言·算法
m0_639817151 小时前
基于springboot纺织品企业财务管理系统【带源码和文档】
java·服务器·前端
q***31831 小时前
Spring Boot(快速上手)
java·spring boot·后端