foreach與正常for迴圈效率對比

2022-06-20 07:30:13 字數 1218 閱讀 6202

/**

* 測試for與froeach效率

* @author 15735400536

* */

public class testlist

endtime=system.currenttimemillis();

starttime=system.currenttimemillis();

for(int i=0; i<100000; i++)

endtime=system.currenttimemillis();

starttime=system.currenttimemillis();

for(int i=0; i<100000; i++)

endtime=system.currenttimemillis();

starttime=system.currenttimemillis();

for(int i=0; i<100000; i++)

endtime=system.currenttimemillis();

starttime=system.currenttimemillis();

for(int i : array)

endtime=system.currenttimemillis();

starttime=system.currenttimemillis();

for(int i : link)

endtime=system.currenttimemillis();

}}

迴圈arraylist時,普通for迴圈比foreach迴圈花費的時間要少一點。 迴圈linklist時,普通for迴圈比foreach迴圈花費的時間要多很多。

當我將迴圈次數提公升到一百萬次的時候,迴圈arraylist,普通for迴圈還是比foreach要快一點;但是普通for迴圈在迴圈linklist時,程式直接卡死。

arraylist:arraylist是採用陣列的形式儲存物件的,這種方式將物件放在連續的記憶體塊中,所以插入和刪除時比較麻煩,查詢比較方便。

結論:

需要迴圈陣列結構的資料時,建議使用普通for迴圈,因為for迴圈採用下標訪問,對於陣列結構的資料來說,採用下標訪問比較好

需要迴圈鍊錶結構的資料時,一定不要使用普通for迴圈,這種做法很糟糕,資料量大的時候有可能會導致系統崩潰

foreach與正常for迴圈效率對比。

答案 可以看出,迴圈arraylist時,普通for迴圈比foreach迴圈花費的時間要少一點 迴圈linklist時,普通for迴圈比foreach迴圈花費的時間要多很多。當我將迴圈次數提公升到一百萬次的時候,迴圈arraylist,普通for迴圈還是比foreach要快一點 但是普通for迴圈在...

foreach與正常for迴圈效率對比

foreach與正常for迴圈效率對比 答案 可以看出,迴圈arraylist時,普通for迴圈比foreach迴圈花費的時間要少一點 迴圈linklist時,普通for迴圈比foreach迴圈花費的時間要多很多。當我將迴圈次數提公升到一百萬次的時候,迴圈arraylist,普通for迴圈還是比fo...

for迴圈與foreach的區別

首先說一下foreach有的也叫增強for迴圈,foreach其實是for迴圈的乙個特殊簡化版。再說一下foreach的書寫格式 for 元素型別 元素名稱 遍歷陣列 集合 或者能進行迭代的 用for迴圈的話就會麻煩很多 複製 public static void main string args ...