'How to add a new value to Map in Dart?

this is my first post to StackOverflow. I have been struggling with the Map data. It’s been taking too much time to find a way more than I thought...

Ex)

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

How can I add a new value to the same key Map? like this.

a:1, b:2, c:3,4,5,6etc....

I'd be grateful if you could tell me the correct way. Thank you.



Solution 1:[1]

If you want multiple values for the same key, you'll need to change the value type: Right now it's int, but that can only be a single int, and by definition, a key only occurs once in a map.

If you change the type of the value to List<int>, you can add multiple values for the same key:

Map<String, List<int>> someMap = {
  "a": [1],
  "b": [2,3],
  "c": [4],
};

Now, to add more values, you could simply access the list and add values to it:

someMap["c"].add(5);  // c: [4, 5]
someMap["c"].addAll([6,7,8]);  // c: [4, 5, 6, 7, 8]

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 fravolt