public static void main(String [] args){
String ss = "aa";
List<Integer> list = new ArrayList<Integer>();
for (int i=0; i<1000;i++){
list.add(i);
}
int size = list.size();
//普通的for
Long l1 = System.currentTimeMillis();
for(int i=0; i<1000; i++){
for(int j=0; j<size; j++){
list.get(j);
}
}
//foreach
Long l2 = System.currentTimeMillis();
for(int i=0;i<1000;i++){
for(Integer obj:list){
}
}
Long l3 = System.currentTimeMillis();
for(int i=0; i<1000; i++){
Iterator it =list.iterator();
while (it.hasNext()){
it.next();
}
}
Long l4 = System.currentTimeMillis();
System.out.println("普通for:"+(l2-l1));
System.out.println("foreach:"+(l3-l2));
System.out.println("Iterator:"+(l4-l3));
}
}
測試結果當迭代次數較小時,效果不明顯,當把遍歷次數增大,10000,結果顯示爲:
可以看出普通for循環是效率最高的。foreach是效率最低的。