'How to reverse a Map in dart? Is there any build in function

There is a map. I want to reverse it. is there any inbuilt function for that in dart?

{203: 5, 201: 3, 204: 1}

This the current Map i have.

{204: 1,201: 3:203: 5}

This is the results i want to get.

Thank You!



Solution 1:[1]

map.lenght should be map.length

thanks for your code

sort(Map map){
  Map newmap;
  for(int i =0 ; i< map.length; i++){
     String x = map.entries.last.key.toString();
     int y = map.entries.last.value;
     newmap[x] = y;
     map.remove(x);
  }
  return newmap;
}

Solution 2:[2]

Does this work? (I'm on mobile and can't test)

import 'dart:collection';

void main() {
  final m = {203: 5, 201: 3, 204: 1};
  final reverseM = LinkedHashMap.fromEntries(m.entries.toList().reversed);
  print(reverseM);
}

Solution 3:[3]

If someone still need a solution, I wrote a simple library to deeply reverse Map, Set and List. Usage is simple, because deepReverse() is an extension method, so all you need to do is to import my library and call the method on your map:

import 'package:deep_collection/deep_collection.dart';


void main() {
  print({203: 5, 201: 3, 204: 1}.deepReverse());
}

Solution 4:[4]

this doesn't handle the situation where values are duplicated, but if that's not an issue:

Map reverseMap(Map map) => {
    for (var e in map.entries) e.value: e.key};
reverseMap({'a': 1, 'b': 2})
// {1: 'a', 2: 'b'}

Solution 5:[5]

this is the simplest way to reverse Map by its keys in Dart language:

reverseMap(Map map) {
 Map newmap = {};
  for (String _key in map.keys.toList().reversed) {
    newmap[_key] = map[_key];
   }
 return newmap;
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Community
Solution 2
Solution 3 Owczar
Solution 4 MetaStack
Solution 5 Hossein Vejdani