集合的迭代,在多数情况下,咱们想都不想,就会用下面这种
而很少会这样做:
但是经测试表明,后一种比前一种快一倍。
[b]原因:就是因为第一种方法在每次循环的时候,多调用了一次iter.hasNext()[/b]
public void iterList(List<Integer> list){
Iterator<Integer> iter = list.iterator();
int total = 0;
while(iter.hasNext())
total+=iter.next();
}
而很少会这样做:
public void getList(List<Integer> list){
int size = list.size();
int total = 0;
for (int i = 0; i < size; i++)
{
total+=list.get(i);
}
}
但是经测试表明,后一种比前一种快一倍。
打印结果:
用迭代变量的时间78
用get的时间32
[b]原因:就是因为第一种方法在每次循环的时候,多调用了一次iter.hasNext()[/b]