Dart - How to sort Map's keys

In Dart, it's called SplayTreeMap:

import "dart:collection";

main() {
  final SplayTreeMap<String, Map<String,String>> st = 
      SplayTreeMap<String, Map<String,String>>();

  st["yyy"] = {"should be" : "3rd"};
  st["zzz"] = {"should be" : "last"};
  st["aaa"] = {"should be" : "first"};
  st["bbb"] = {"should be" : "2nd"};

  for (final String key in st.keys) {
    print("$key : ${st[key]}");
  }
}

// Output:
// aaa : first
// bbb : 2nd
// yyy : 3rd
// zzz : last

If you want a sorted List of the map's keys:

var sortedKeys = map.keys.toList()..sort();

You can optionally pass a custom sort function to the List.sort method.

Finally, might I suggest using Map<String, dynamic> rather than Map<String, Object>?

Tags:

Dart