foreach
迴圈陣列中的每個元素會通過foreach進行一些改變,會改變原陣列
map迴圈陣列中的元素並進行一些改變後返回乙個新陣列
一般的for、foreach、map耗時比較
var list = list();
for (var i = 0; i < 1000000; i++)
int forstart = datetime.now().microsecondssinceepoch;
for (var i = 0; i < list.length; i++) {}
int forend = datetime.now().microsecondssinceepoch;
print('for = $');
int foreachstart = datetime.now().microsecondssinceepoch;
list.foreach((element) {});
int foreachend = datetime.now().microsecondssinceepoch;
print('foreach = $');
int mapstart = datetime.now().microsecondssinceepoch;
list.map((e) {});
int mapend = datetime.now().microsecondssinceepoch;
print('map = $');
第一次列印
i/flutter (17551): for = 11926
i/flutter (17551): foreach = 13340
i/flutter (17551): map = 32
第二次列印
i/flutter (17551): for = 11987
i/flutter (17551): foreach = 13067
i/flutter (17551): map = 29
第三次列印
i/flutter (17551): for = 11707
i/flutter (17551): foreach = 12299
i/flutter (17551): map = 27
三種迴圈的比較
switch case 語法 switch 表示式 變數 case 值1 語句1 break case 值2 語句2 break default 語句3 break 執行過程 當程式執行到switch 表示式 變數 先判斷括號裡的表示式,執行大括號裡的case 後面的值1 如果和值1匹配,就執行語句...
三種迴圈語句的比較
同乙個問題,往往既可以用while語句解決,也可以用do while或者for語句來解決,但在實際應用中,應根據具體情況來選用不同的迴圈語句。如果迴圈次數在執行迴圈體之前就已經確定,一般用for語句。如果迴圈次數是由迴圈體的執 況確定的,一般用while語句或者do while語句。當迴圈體至少執行...
三種迴圈的效能比較
下面是一段測試 listintegers new arraylist for int i 0 i 10000000 i long l1 system.currenttimemillis for int i 0 i integers.size i long l2 system.currenttimem...