containsValue method Null safety

bool containsValue (
  1. Object? value
)
override

Whether this map contains the given value.

Returns true if any of the values in the map are equal to value according to the == operator.

Implementation

bool containsValue(Object? value) {
  int initialSplayCount = _splayCount;
  bool visit(_SplayTreeMapNode<K, V>? node) {
    while (node != null) {
      if (node.value == value) return true;
      if (initialSplayCount != _splayCount) {
        throw ConcurrentModificationError(this);
      }
      if (node.right != null && visit(node.right)) {
        return true;
      }
      node = node.left;
    }
    return false;
  }

  return visit(_root);
}