【发布时间】:2020-02-10 20:29:25
【问题描述】:
我有一个Map<int, String>,我希望返回一个字符串值列表,但按 int 键的升序/降序排序。如果我返回我也希望排序的相同迭代,这将很容易,例如返回map.keys 或map.values 的列表,但除了手动创建列表之外,我想不出办法做到这一点在使用foreach() 遍历整个地图并从地图键中插入值以进行索引后,如下所示,然后在该列表中嵌套另一个foreach() 以消除任何空值。
Map<int, String> charMap = {2:'b', 1:'a', 4:'d'};
List<String> tempList = [];
List<String> charList = [];
charMap.forEach((key, value) => tempList.insert(key, value));
//tempList == ['a', 'b', '', 'd'];
charList = tempList..where((e) => e != null);
//charList == ['a', 'b', 'd'];
请告诉我有更好、更有效的方法吗?非常感谢任何帮助!
【问题讨论】:
标签: list sorting dictionary dart type-conversion