我在想,有没有一种简单的方法可以在Dart中连接两个列表以创建一个全新的列表对象。我找不到任何东西,像这样的东西:
我的列表:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
我尝试过:
var newList = list1 + list2;
我想要合并输出以下内容:
[1, 2, 3, 4, 5, 6]
我在想,有没有一种简单的方法可以在Dart中连接两个列表以创建一个全新的列表对象。我找不到任何东西,像这样的东西:
我的列表:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
我尝试过:
var newList = list1 + list2;
我想要合并输出以下内容:
[1, 2, 3, 4, 5, 6]
我认为不需要创建第三个列表...
可以使用这个:
list1 = [1, 2, 3];
list2 = [4, 5, 6];
list1.addAll(list2);
print(list1);
// [1, 2, 3, 4, 5, 6] // is our final result!
addAll()
函数var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
array1.addAll(array2); // array1 is now [1, 2, 3, 4, 5, 6]
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
array2.forEach((item) {
array1.add(item);
}); // array1 is now [1, 2, 3, 4, 5, 6]
var array1 = [1, 2, 3];
var array1 = [4, 5, 6];
var newArray = array1 + array1; // array1 is now [1, 2, 3, 4, 5, 6]
list1.followedBy(list2).toList();
List<T> concatLists<T>(List<List<T>> listOfLists, [bool isGrowable = true]) {
if (listOfLists.first.isEmpty) {
throw Exception('first list of lists cannot be empty');
}
int totalLength = 0;
for (final list in listOfLists) {
totalLength += list.length;
}
List<T> result =
List<T>.filled(totalLength, listOfLists[0][0], growable: isGrowable);
int idx = 0;
for (final list in listOfLists) {
for (final item in list) {
result[idx] = item;
idx += 1;
}
// result.addAll(list); // at least 2x longer
}
return result;
}