Метод contains
- Object? element
Содержит ли коллекция элемент, равный element.
Эта операция будет проверять каждый элемент в порядке, чтобы определить, равен ли он element, если нет более эффективного способа найти элемент, равный element.
Равенство, используемое для определения того, element равен элементу итератора, по умолчанию равно Object.== для этого элемента.
У некоторых типов итераторов может использоваться другое равенство для элементов. Например, Set может использовать пользовательское равенство (см. Set.identity), которое его contains использует. Аналогично, Iterable возвращаемый вызовом Map.keys должен использовать то же самое равенство, что и Map для ключей.
Пример:
final gasPlanets = <int, String>{1: 'Jupiter', 2: 'Saturn'};
final containsOne = gasPlanets.keys.contains(1); // true
final containsFive = gasPlanets.keys.contains(5); // false
final containsJupiter = gasPlanets.values.contains('Jupiter'); // true
final containsMercury = gasPlanets.values.contains('Mercury'); // false Реализация
bool contains(Object? element) {
return _validKey(element) && _splay(element as E) == 0;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/SplayTreeSet/contains.html