updateAll 方法
- V update(
- K key,
- V value
override
更新所有值。
遍历映射中的所有条目,并使用调用 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}
实现
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);
}
}