開發中經常用到for迴圈,但是到底選擇那乙個效率更高,可能讓有些同學出現糾結,給人感覺好像是增強for迴圈效率高,
但是。。。。猜測總是沒法讓人不放心,
千猜萬猜還不如,動手做個測試,證明下,
測試步驟如下
1、定義乙個物件,
@data
public class car
2、用乙個普通for迴圈往list裡增加物件
int tempsize = 100*100*100*100;
listlist = new arraylist();
for (int i = 0; i< tempsize;i++ )
3、再用普通for迴圈和增加for迴圈取出list中的物件,並記錄總耗時
system.out.println("***************");
system.out.println("普通for迴圈");
system.out.println(system.currenttimemillis());
for (int i = 0;i結果如下
***************
普通for迴圈
1557717515954
1557717516347
4、上面是兩個迴圈是乙個方法裡執行的,可能會互相干擾,下面我們分開方法執行
一次只記錄一次for迴圈的費時
結果如下
**********=
普通for迴圈
1557804229133
1557804229520
總耗時 387
***************
增強for迴圈
1557804537568
1557804538024
總耗時 456
增強for迴圈和普通for迴圈的區別
增強for迴圈亦為高階for迴圈。增強for迴圈內部是使用的iterator來遍歷的,只能遍歷陣列和實現了iterable介面的集合。優點是寫法簡便,無需獲得陣列 集合長度,也無需根據索引來訪問元素。缺點是不能在迴圈裡動態的刪除元素和獲取元素下標。任何的增強for迴圈都可以改寫為普通for迴圈。遍歷...
增強for迴圈和普通for迴圈區別
記錄 成為更好的自己 增強for迴圈與普通for迴圈的區別 1,增強for迴圈與普通for迴圈的區別 增強for迴圈必須有被遍歷的目標 如集合或陣列 普通for迴圈遍歷陣列的時候需要索引。增強for迴圈不能獲取下標,所以遍歷陣列時最好使用普通for迴圈。2,特點 書寫簡潔。對集合進行遍歷,只能獲取集...
增強for迴圈 foreach迴圈
1 作用 簡化迭代器的書寫格式。注意 foreach迴圈的底層還是使用了迭代器遍歷。2 適用範圍 如果是實現了iterable介面的物件或者是陣列物件都可以使用foreach迴圈。3 格式 for 資料型別 變數名 遍歷的目標 示例 1 public static void main string ...