Метод retainAll
void retainAll(Удаляет все элементы этого множества, которые не являются элементами в elements.
Проверяет для каждого элемента elements наличие элемента в этом множестве, равного ему (в соответствии с this.contains), и если такой элемент найден, то равный ему элемент в этом множестве сохраняется, а элементы, не равные ни одному элементу в elements, удаляются.
Исходный код
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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-collection/SetMixin/retainAll.html