operator [] method Null safety

V operator [] (
  1. Object? key
)
override

Returns the value for the given key or null if key is not in the map.

Some maps allow keys to have null as a value. For those maps, a lookup using this operator cannot distinguish between a key not being in the map and the key having a null value. Methods like containsKey or putIfAbsent can be used if the distinction is important.

Implementation

V? operator [](Object? key) {
  if (!_validKey(key)) return null;
  if (_root != null) {
    int comp = _splay(key as dynamic);
    if (comp == 0) {
      return _root!.value;
    }
  }
  return null;
}