remove 方法

V? remove(
  1. Object? key
)
override

从映射中删除 (如果存在)键 key 和其关联的值。

返回在删除前的 key 关联的值。如果 key 不在映射中,则返回 null

请注意,某些映射允许 null 作为值,因此返回的 null 值并不总是意味着键不存在。

final terrestrial = <int, String>{1: 'Mercury', 2: 'Venus', 3: 'Earth'};
final removedValue = terrestrial.remove(2); // Venus
print(terrestrial); // {1: Mercury, 3: Earth}

实现

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