putValueIfAbsent method
Inserts value for key only if no entry for key already exists.
Returns true if the value was inserted, or false if an entry was
already present and nothing was changed.
This does not replace an existing value.
Implementation
bool putValueIfAbsent(K key, V value) {
var keyEntry = _createEntry(key, value);
var put = false;
_map.putIfAbsent(keyEntry, () {
put = true;
return keyEntry;
});
if (put) {
_onPutEntry(keyEntry, value);
++_unpurgedCount;
}
return put;
}