遍历ArrayList,Iterator和for循环哪个更快?
大家都说Iterator更快,但我测了一下,发现for循环更快,测试代码如下:
public static void main(String[] args) {
long start,end,forStart,forEnd;
ArrayList<Integer> al=new ArrayList<Integer>();
for(int i=0;i<900000;i++){
al.add(new Integer(4));
}
forStart=System.currentTimeMillis();
for(int j=0;j<al.size();j++){
al.get(j);
}
forEnd=System.currentTimeMillis();
Iterator<Integer> it=al.iterator();
start=System.currentTimeMillis();
while(it.hasNext()){
it.next();
}
end=System.currentTimeMillis();
System.out.println("for用时:"+(forEnd-forStart)+"\nIterator用时:"+(end-start));
}
运行结果:
for用时:16
Iterator用时:31
请高手解释一下……