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 (this[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/ListMixin/contains.html

Spec-Zone.ru

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