Spec-Zone.ru › Dart 2

dart:collection

метод contains

bool contains(
  1. Object? element
)
override

Содержит ли коллекция элемент, равный 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-collection/IterableMixin/contains.html

Spec-Zone.ru

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