我在Dart中对Map的键进行排序时有疑问.
Map<String, Object> map = new Map();
Run Code Online (Sandbox Code Playgroud)
如何在地图中对键进行排序?或者对Iterable map.keys进行排序.
Ily*_*mov 22
在Dart它被称为SplayTreeMap:
import "dart:collection";
main() {
var st = new SplayTreeMap<String, Object>();
st["yyy"]={"should be":"3rd"};
st["zzz"]={"should be":"last"};
st["aaa"]={"should be":"first"};
st["bbb"]={"should be":"2nd"};
for (var key in st.keys) {
print("$key : ${st[key]}");
}
}
//Output:
//aaa : first
//bbb : 2nd
//yyy : 3rd
//zzz : last
Run Code Online (Sandbox Code Playgroud)
Gan*_*ede 19
如果您想要List对地图的键进行排序:
var sortedKeys = map.keys.toList()..sort();
Run Code Online (Sandbox Code Playgroud)
您可以选择将自定义排序功能传递给List.sort方法.
最后,我可以建议使用Map<String, dynamic>而不是Map<String, Object>吗?
Ban*_*ter 13
final sorted = SplayTreeMap<String,dynamic>.from(map, (a, b) => a.compareTo(b));
Run Code Online (Sandbox Code Playgroud)
正如所见
| 归档时间: |
|
| 查看次数: |
7278 次 |
| 最近记录: |