operator []= method

void operator []=(
  1. K key,
  2. V value
)
override

Associates the key with the given value.

If the key was already in the map, its associated value is changed. Otherwise the key/value pair is added to the map.

Implementation

void operator []=(K key, V value) {
  // Splay on the key to move the last node on the search path for
  // the key to the root of the tree.
  int comp = _splay(key);
  if (comp == 0) {
    _root = _root!._replaceValue(value);
    // To represent structure change, in case someone caches the old node.
    _splayCount += 1;
    return;
  }
  _addNewRoot(_SplayTreeMapNode(key, value), comp);
}