for、forEach、map三种遍历
循环数组中的元素并进行一些改变后返回一个新数组
一般的for、forEach、map耗时比较
var list = List();
for (var i = 0; i < 1000000; i++) {
list.add(i);
}
int forStart = DateTime.now().microsecondsSinceEpoch;
for (var i = 0; i < list.length; i++) {}
int forEnd = DateTime.now().microsecondsSinceEpoch;
print('for = ${forEnd - forStart}');
int forEachStart = DateTime.now().microsecondsSinceEpoch;
list.forEach((element) {});
int forEachEnd = DateTime.now().microsecondsSinceEpoch;
print('forEach = ${forEachEnd - forEachStart}');
int mapStart = DateTime.now().microsecondsSinceEpoch;
list.map((e) {});
int mapEnd = DateTime.now().microsecondsSinceEpoch;
print('map = ${mapEnd - mapStart}');
第一次打印
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
注: dart中建议不要在函数字面量中使用' forEach '