operator [] 方法

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

给定 key 的值,如果 key 不在映射中,则为 null

某些映射允许 null 作为值。对于这些映射,使用此运算符的查找无法区分键不存在和键存在但值为 null 的情况。如果这种区别很重要,可以使用 containsKeyputIfAbsent 等方法。

实现

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