Метод 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 < length; i++) {
if (elementAt(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/ListQueue/contains.html