updateAll method Null safety

void updateAll(
  1. V update(
    1. K key,
    2. V value
    )
)
override

Updates all values.

Iterates over all entries in the map and updates them with the result of invoking update.

final terrestrial = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Earth'};
terrestrial.updateAll((key, value) => value.toUpperCase());
print(terrestrial); // {1: MERCURY, 2: VENUS, 3: EARTH}

Implementation

void updateAll(V update(K key, V value)) {
  var root = _root;
  if (root == null) return;
  var iterator = _SplayTreeMapEntryIterator(this);
  while (iterator.moveNext()) {
    var node = iterator.current;
    var newValue = update(node.key, node.value);
    iterator._replaceValue(newValue);
  }
}