java使用ArrayList遍历及效率比较实例分析

时间:2022-03-08 18:50:10

本文实例讲述了java使用ArrayList遍历及效率比较。分享给大家供大家参考。具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
ArrayList arrL = new ArrayList();
ArrayList arrLTmp1 = new ArrayList();
ArrayList arrLTmp2 = new ArrayList();
ArrayList arrLTmp3 = new ArrayList();
ArrayList arrLTmp4 = new ArrayList();
for (int i=0;i<1000000;i++){
  arrL.add("第"+i+"个");
}
long t1 = System.nanoTime();
//方法1
Iterator it = arrL.iterator();
while(it.hasNext()){
  arrLTmp1.add(it.next());
}
long t2 = System.nanoTime();
//方法2
for(Iterator it2 = arrL.iterator();it2.hasNext();){
  arrLTmp2.add(it2.next());
}
long t3 = System.nanoTime();
//方法3
for (String vv :arrL){
  arrLTmp3.add(vv);
}
long t4 = System.nanoTime();
//方法4
for(int i=0;i
  arrLTmp4.add(arrL.get(i));
}
long t5 = System.nanoTime();
System.out.println("第一种方法耗时:" + (t2-t1)/1000 + "微秒");
System.out.println("第二种方法耗时:" + (t3-t2)/1000 + "微秒");
System.out.println("第三种方法耗时:" + (t4-t3)/1000 + "微秒");
System.out.println("第四种方法耗时:" + (t5-t4)/1000 + "微秒");

输出结果:

?
1
2
3
4
第一种方法耗时:143069微秒
第二种方法耗时:381666微秒
第三种方法耗时:125909微秒
第四种方法耗时:63693微秒

把上述1000000改为10,输出结果为:

?
1
2
3
4
第一种方法耗时:307微秒
第二种方法耗时:14微秒
第三种方法耗时:14微秒
第四种方法耗时:14微秒

希望本文所述对大家的java程序设计有所帮助。