How to create a sorted map by value in Dart
In this shot, we will learn how to sort Map by value using:
- The
SplayTreeMapandfrom()method - The Map
fromEntries()method and Listsort()method
SplayTreeMap and from() method
The following code shows how to sort Map by value:
import 'dart:collection';void main() {var fruits = {1: 'Orange', 4: 'Banana', 6: 'Pawpaw',3: 'Apple', 5: 'Mango', 2: 'Avocado'};print(fruits);// sorting map by valuevar sortByValue = new SplayTreeMap<int, String>.from(fruits, (key1, key2) => fruits[key1].compareTo(fruits[key2]));print("***Sorted Map by value***");print(sortByValue);}
In the code above, we created a sorted Map by values from the original Map fruits. We passed the from function a comparison function called compareTo(), which compares the values of the pairs in the Map.
Map fromEntries() method and List sort() method
The following code shows how to sort Map by value:
void main() {var fruits = {1: 'Orange', 4: 'Banana', 6: 'Pawpaw',3: 'Apple', 5: 'Mango', 2: 'Avocado'};print(fruits);var sortMapByValue = Map.fromEntries(fruits.entries.toList()..sort((e1, e2) => e1.value.compareTo(e2.value)));print("***Sorted Map by value***");print(sortMapByValue);}