метод lookup
- Object? object
override
Если в наборе есть объект, равный object, верните его.
Проверяет, есть ли object в наборе, как и contains, и если есть, возвращает объект из набора, иначе возвращает 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;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/SplayTreeSet/lookup.html