lookup 方法

E? lookup(
  1. Object? object
)
override

如果集合中存在与 object 等效的对象,则返回它。

contains 方法类似,检查 object 是否在集合中。如果是,则返回集合中的对象,否则返回 null

如果集合使用的相等关系不是同一性,则返回的对象可能不与 object 相同。某些集合实现可能无法实现此方法。如果 contains 方法是通过计算得出的,而不是基于实际的对象实例,那么可能没有特定的对象实例表示集合元素。

final characters = <String>{'A', 'B', 'C'};
final containsB = characters.lookup('B');
print(containsB); // B
final containsD = characters.lookup('D');
print(containsD); // null

实现

E? lookup(Object? object) {
  if (!_validKey(object)) return null;
  int comp = _splay(object as E);
  if (comp != 0) return null;
  return _root!.key;
}