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) {
if (other.isEmpty) return;
final target = value;
final entries = identical(target, other)
? List<MapEntry<K, V>>.of(other.entries)
: other.entries;
var changed = false;
for (final entry in entries) {
if (!target.containsKey(entry.key) || target[entry.key] != entry.value) {
target[entry.key] = entry.value;
changed = true;
}
}
if (changed) {
refresh();
}
}