putValueIfAbsent method

bool putValueIfAbsent(
  1. K key,
  2. V value
)

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;
}