列表包含一个子列表或一个地图,即二维列表。
扁平化列表是为了从二维列表中输出一个单一的列表。
让我们在dart中创建一个子列表或二维列表的列表。
var list = [
[1, 2, 3],
[4, 5, 6],
[7, 8]
];
一个二维列表包含元素的列表,其中每个元素又是一个列表。
对列表进行平铺后,结果是
[1, 2, 3, 4, 5, 6, 7, 8]
在dart和flutter中扁平化列表?
我们有多种方法可以做列表扁平化。
- 列表扩展方法:在这个例子中,列表扩展方法将每个元素扩展为零或一个元素。最后,调用toList()来转换一个单一的列表。
下面是一个使用List expand方法进行List flatten的例子。
void main() {
var list = [ [1, 2, 3],
[4, 5, 6],
[7, 8]
];
var flatList = list.expand((element) => element).toList();
print(list);
print(flatList);
}
输出:
[[1, 2, 3], [4, 5, 6], [7, 8]]
[1, 2, 3, 4, 5, 6, 7, 8]
- 使用forEach和addAll方法。
在这个例子中,创建了一个空的ListforEach ,用于遍历列表中的一个元素,并使用addAll方法将子列表添加到flatList中。
下面是一个例子
void main() {
var list = [ [1, 2, 3],
[4, 5, 6],
[7, 8]
];
var flatList = [];
list.forEach((e) => flatList.addAll(e));
print(list);
print(flatList);
}
输出:
[[1, 2, 3], [4, 5, 6], [7, 8]]
[1, 2, 3, 4, 5, 6, 7, 8]
结论
总结一下,学习了多种扁平化列表的方法的例子。