# remove method

V remove (Object key)
override

Removes `key` and its associated value, if present, from the map.

Returns the value associated with `key` before it was removed. Returns `null` if `key` was not in the map.

Note that values can be `null` and a returned `null` value doesn't always mean that the key was absent.

## Implementation

    V remove(Object key) {
      if (!_validKey(key)) return null;
      _SplayTreeMapNode<K, V> mapRoot = _remove(key);
      if (mapRoot != null) return mapRoot.value;
      return null;
    }