List<Integer> list = new ArrayList<>();
int n = 10000_0000;
for (int i = 0; i < n; i++) {
list.add(i);
}
遍历方式
# 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 -> {
});
10000_0000次循环性能比较
循环类型 | 第1轮 | 第2轮 | 第3轮 | 第4轮 | 第5轮 |
---|---|---|---|---|---|
for i 循环 | : 75 ms, 6.08% | : 53 ms, 8.62% | : 68 ms, 10.64% | : 54 ms, 8.39% | : 53 ms, 6.79% |
增强for循环 | : 146 ms, 11.83% | : 149 ms, 24.23% | : 164 ms, 25.67% | : 185 ms, 28.73% | : 163 ms, 20.90% |
iterator for 循环 | : 56 ms, 4.54% | : 54 ms, 8.78% | : 58 ms, 9.08% | : 56 ms, 8.70% | : 77 ms, 9.87% |
iterator while 循环 | : 55 ms, 4.46% | : 56 ms, 9.11% | : 56 ms, 8.76% | : 56 ms, 8.70% | : 55 ms, 7.05% |
list.forEach 循环 | : 555 ms, 44.98% | : 115 ms, 18.70% | : 111 ms, 17.37% | : 109 ms, 16.93% | : 130 ms, 16.67% |
list.stream().forEach 循环 | : 143 ms, 11.59% | : 115 ms, 18.70% | : 108 ms, 16.90% | : 107 ms, 16.61% | : 112 ms, 14.36% |
list.parallelStream().forEach 循环 | : 203 ms, 16.45% | : 71 ms, 11.54% | : 71 ms, 11.11% | : 73 ms, 11.34% | : 187 ms, 23.97% |
参考
Java 中 List 的5种遍历方式文章来源地址https://www.toymoban.com/news/detail-695833.html
文章来源:https://www.toymoban.com/news/detail-695833.html
到了这里,关于Java 中 List 的 7 种遍历方式 及 性能对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!