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

相关推荐
hunzi_130 分钟前
搭建商城系统
java·uni-app·php
Boilermaker19921 小时前
【Java EE】Mybatis-Plus
java·开发语言·java-ee
aramae1 小时前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
Tony小周1 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
xdscode2 小时前
SpringBoot ThreadLocal 全局动态变量设置
java·spring boot·threadlocal
lifallen2 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
lixzest2 小时前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法
丶小鱼丶2 小时前
链表算法之【合并两个有序链表】
java·算法·链表
沉默媛2 小时前
如何安装python以及jupyter notebook
开发语言·python·jupyter
张先shen2 小时前
Elasticsearch RESTful API入门:全文搜索实战(Java版)
java·大数据·elasticsearch·搜索引擎·全文检索·restful