普通for迴圈與增強for迴圈效率對比

2021-09-23 22:15:00 字數 919 閱讀 7671

開發中經常用到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 ...