遍历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
请高手解释一下……
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
请高手解释一下……
...全文
相关推荐
ArrayList在for循环中使用remove方法移除元素方法介绍
主要介绍了ArrayList在for循环中使用remove方法移除元素的内容,介绍了具体代码实现,需要的朋友可以参考下。
Java中ArrayList和LinkedList的遍历与性能分析
主要给大家介绍了ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论。相信对大家的理解和学习具有一定的参考价值,有需要的朋友们下面跟着小编一起来学习学习吧。
java arrayList遍历的四种方法及Java中ArrayList类的用法
arraylist是动态数组,它具有三个好处分别是:动态的增加和减少元素 、实现了ICollection和IList接口、灵活的设置数组的大小,本文给大家介绍java arraylist遍历及Java arraylist 用法,感兴趣的朋友一起学习吧
详解Java中list,set,map的遍历与增强for循环
主要介绍了详解Java中list,set,map的遍历与增强for循环的相关资料,需要的朋友可以参考下
Java使用Iterator迭代器遍历集合数据的方法小结
主要介绍了Java使用Iterator迭代器遍历集合数据的方法,结合实例形式分析了java迭代器进行集合数据遍历的常见操作技巧,需要的朋友可以参考下


