update method
Updates the value for the provided key
.
Returns the new value of the key.
If the key is present, invokes update
with the current value and stores
the new value in the map.
If the key is not present and ifAbsent
is provided, calls ifAbsent
and adds the key with the returned value to the map.
It's an error if the key is not present and ifAbsent
is not provided.
Implementation
V update(K key, V update(V value), {V ifAbsent()}) {
if (this.containsKey(key)) {
return this[key] = update(this[key]);
}
if (ifAbsent != null) {
return this[key] = ifAbsent();
}
throw new ArgumentError.value(key, "key", "Key not in map.");
}