Метод contains
bool contains(Возвращает true, если коллекция содержит элемент, равный element.
Эта операция будет проверять каждый элемент по порядку на равенство element, если у нее нет более эффективного способа найти элемент, равный element.
Равенство, используемое для определения, является ли element равным элементу итерируемого объекта, по умолчанию равно Object.== элемента.
У некоторых типов итерируемых объектов может использоваться другое равенство для их элементов. Например, Set может иметь пользовательское равенство (см. Set.identity), которое использует ее contains. Аналогично, Iterable, возвращаемое вызовом Map.keys , должно использовать то же равенство, которое использует Map для ключей.
Исходный код
bool contains(Object element) {
int length = this.length;
for (int i = 0; i < this.length; i++) {
if (this[i] == element) return true;
if (length != this.length) {
throw new ConcurrentModificationError(this);
}
}
return false;
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-collection/ListMixin/contains.html