作者:发酵床养殖菌种 | 来源:互联网 | 2023-10-12 22:01
最近在优化代码时遇到了这个问题:Iterator与增强for循环到底哪个效率高?之前在学习的时候,好像记着老师说过遍历集合(如list)时,使用iterator好像正规一些,因为是专用的,但是运行
最近在优化代码时遇到了这个问题:Iterator与增强for循环到底哪个效率高?之前在学习的时候,好像记着老师说过遍历集合(如list)时,使用iterator好像正规一些,因为是专用的,但是运行效率问题确实不曾考虑,今天做了一个实验:对两者进行了简单的比较,得出的结论是:增强for循环运行效率更高一些。但是我不确定这是否会代表全部情况,这里仅仅记录一下,做个参考,后期有新的认识再来补充,欢迎大家批评指正。
1 public static void main(String[] args) {
2 test();
3 }
4
5 public static void test() {
6
7 List list = new ArrayList();
8 int flag = 100000;
9 int i=0;
10 while(i<flag) {
11 list.add(i);
12 i++;
13 }
14
15 // iterator测试
16 long start = System.currentTimeMillis();
17 Iterator iterator = list.iterator();
18 while(iterator.hasNext()) {
19 System.out.print(iterator.next());
20 }
21 long end = System.currentTimeMillis();
22 System.out.println("iterator本次执行耗费了"+(end-start)+"毫秒");
23
24 // 增强for循环测试
25 long start2 = System.currentTimeMillis();
26 for(Integer inte : list) {
27 System.out.print(inte);
28 }
29 long end2 = System.currentTimeMillis();
30 System.out.println("for本次执行耗费了"+(end2-start2)+"毫秒");
31 }
运行结果为: