どうも、ちょげ(@chogetarou)です。
DartでMapをキーでソートする方法を紹介します。
方法

Mapをキーでソートするには、SplayTreeMapを使います。
具体的には、SplayTreeMapをfromでインスタンス化します。
fromの第1引数にはソートするMap、第2引数にはcompareToを使った比較式を指定します。
//mapをキーでソート
var sortedKey = new SplayTreeMap.from(map, (key1, key2) => key1.compareTo(key2));
SplayTreeMapには、ソートされたマップが格納されます。
使用例
import 'dart:collection';
void main() {
var numbers = {
3 : 'Three',
1 : 'One',
5 : 'Five',
2 : 'Two',
4 : 'Four'
};
var sortedKey = new SplayTreeMap<int, String>.from(numbers, (key1, key2) => key1.compareTo(key2));
print(sortedKey); //{1: One, 2: Two, 3: Three, 4: Four, 5: Five}
}
コメント