метод 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.19.6/dart-collection/SplayTreeSet/contains.html