Spec-Zone.ru › Dart 2

dart:collection

метод contains

bool contains(
  1. 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) {
  int length = this.length;
  for (int i = 0; i < length; i++) {
    if (elementAt(i) == element) return true;
    if (length != this.length) {
      throw ConcurrentModificationError(this);
    }
  }
  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-collection/ListQueue/contains.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API