addAll method
Adds all key/value pairs of other to this map.
If a key of other is already in this map, its value is overwritten.
The operation is equivalent to doing this[key] = value for each key
and associated value in other. It iterates over other, which must
therefore not change during the iteration.
final planets = <int, String>{1: 'Mercury', 2: 'Earth'};
planets.addAll({5: 'Jupiter', 6: 'Saturn'});
print(planets); // {1: Mercury, 2: Earth, 5: Jupiter, 6: Saturn}
Implementation
@override
void addAll(Map<K, V> other) {
final List<MapEntry<K, V>> added = [];
final List<MapEntry<K, V>> removed = [];
for (final entry in other.entries) {
if (_map.containsKey(entry.key)) {
removed.add(MapEntry(entry.key, _map[entry.key] as V));
}
added.add(entry);
}
_map.addAll(other);
notifyListeners(MapChangeDetails<K, V>(added, removed));
}