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) {
bool shouldUpdate = false;
for (final entry in other.entries) {
if (!shouldUpdate && super[entry.key] != entry.value) {
shouldUpdate = true;
}
super[entry.key] = entry.value;
}
if (shouldUpdate) {
notifyListeners();
}
}