Solved: How to add a new pair to Map in Dart?

Question

Asked by hrsma2i on December 24, 2018 (source).

I caught the following errors when adding a new pair to a Map.

  • Variables must be declared using the keywords const, final, var, or a type name
  • Expected to find;
  • the name someMap is already defined

I executed the following code.

Map<String, int> someMap = {
  "a": 1,
  "b": 2,
};

someMap["c"] = 3;

How should I add a new pair to the Map?

I'd also like to know how to use Map.update.

Answer

Question answered by Tyler (source).

To declare your map in Flutter you probably want final:

final Map<String, int> someMap = {
  "a": 1,
  "b": 2,
};

Then, your update should work:

someMap["c"] = 3;

Finally, the update function has two parameters you need to pass, the first is the key, and the second is a function that itself is given one parameter (the existing value). Example:

someMap.update("a", (value) => value + 100);

If you print the map after all of this you would get:

{a: 101, b: 2, c: 3}
DART FLUTTER FLUTTERMAP KEY-PAIR
SHARE: