在开发过程中少不了迭代器(遍历)的使用,目前已知的迭代器有:for、for的增强版、iterator
那么各自的迭代器是否有性能上的差别呢?
下面我们来试验一下:
public static void main(String[] args) {
List<Integer> Test = new ArrayList<Integer>();
for (int i = 0; i < 100000000; i++) {
Test.add(4);
}
Long a1 = System.currentTimeMillis();
//普通的for
int size = Test.size();
for (int i = 0; i < size; i++) { }
Long a2 = System.currentTimeMillis();
//for增强版
for (Integer integer : Test) { }
Long a3 = System.currentTimeMillis();
//iterator
Iterator<Integer> iterator = Test.iterator();
while (iterator.hasNext()){
iterator.next();
}
Long a4 = System.currentTimeMillis();
System.out.println("普通的for==================="+ (a2 - a1));
System.out.println("for增强版==================="+ (a3 - a2));
System.out.println("iterator==================="+ (a4 - a3));
}
运行第一次的结果:
普通的for===================1
for增强版===================70
iterator===================5293
运行第二次的结果:
普通的for===================2
for增强版===================86
iterator===================4226
截图如下
事实证明,for普通的效率是最高的,for增强版其次,但是使用iterator效率是最差的。
所以建议使用:普通的for
觉得本文章对您有帮助,那么可以选择打赏。
打赏多少,您高兴就行,谢谢您对我的支持! ~(@^_^@)~
微信扫一扫