Spec-Zone.ru › Dart 2

dart:collection

Метод retainAll

void retainAll(
  1. Iterable<Object?> elements
)
override

Удаляет все элементы этого множества, которые не являются элементами elements.

Проверяет для каждого элемента elements, существует ли в этом множестве элемент, равный ему (согласно this.contains), и если да, то равный элемент в этом множестве сохраняется, а элементы, которые не равны ни одному элементу в elements, удаляются.

final characters = <String>{'A', 'B', 'C'};
characters.retainAll({'A', 'B', 'X'});
print(characters); // {A, B}

Реализация

void retainAll(Iterable<Object?> elements) {
  // Create a copy of the set, remove all of elements from the copy,
  // then remove all remaining elements in copy from this.
  Set<E> toRemove = toSet();
  for (Object? o in elements) {
    toRemove.remove(o);
  }
  removeAll(toRemove);
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/SetMixin/retainAll.html

Spec-Zone.ru

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