问同学一个问题,我有一个列表,该怎么遍历它呢?你会讲So easy, 用for呀,所以你会看到如下code:
for(String item : list) {
}
但是这样真的好吗?元芳你怎么看?
这里小编做了一个测试,比较了一下它和Iterator的执行效率,这不就有了这边文章。代码如下:
List<String> list = new ArrayList<String>();
int i= 0;
for(; i<10000; i++) {
list.add(String.valueOf(i));
}
Long currentMills = System.nanoTime();
for(String item : list) {
}
System.out.println("for spend time");
System.out.println(System.nanoTime() - currentMills);
Long beagin = System.nanoTime();
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
iterator.next();
}
System.out.println("iterator spend time");
System.out.println(System.nanoTime() - beagin);
}
执行结果如下:
是不是惊喜的发现,使用Iterator更快一些。
若您发现有什么不妥,还请八方支援,笔者感激不尽哦!!