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

爱被打了一巴掌 2024-03-08 04:58 181阅读 0赞
  1. # for i 循环
  2. for (int i = 0; i < list.size(); i++) {
  3. list.get(i);
  4. }
  5. # 增强for循环
  6. for (int item : list) {
  7. }
  8. # iterator for 循环
  9. for (Iterator<Integer> iterator = list.iterator(); iterator.hasNext(); ) {
  10. iterator.next();
  11. }
  12. # iterator while 循环
  13. Iterator<Integer> iterator = list.iterator();
  14. while (iterator.hasNext()) {
  15. iterator.next();
  16. }
  17. # list.forEach 循环
  18. list.forEach(item -> {
  19. });
  20. # list.stream().forEach 循环
  21. list.stream().forEach(item -> {
  22. });
  23. # list.parallelStream().forEach 循环
  24. list.parallelStream().forEach(item -> {
  25. });

性能比较

  1. 每种循环各遍历10000_0000 total cost time : 699 ms
  2. for i 循环 : 63 ms, 9.01%
  3. iterator for 循环 : 89 ms, 12.73%
  4. iterator while 循环 : 86 ms, 12.30%
  5. for Boost 循环 : 161 ms, 23.03%
  6. list.forEach 循环 : 115 ms, 16.45%
  7. list.stream().forEach 循环 : 115 ms, 16.45%
  8. list.parallelStream().forEach 循环 : 66 ms, 9.44%

参考

Java 中 List 的5种遍历方式

发表评论

表情:
评论列表 (有 0 条评论,181人围观)

还没有评论,来说两句吧...

相关阅读