Метод 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) {
for (E e in this) {
if (e == element) return true;
}
return false;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Iterable/contains.html