removeAll method
Removes each element of elements
from this set.
final characters = <String>{'A', 'B', 'C'};
characters.removeAll({'A', 'B', 'X'});
print(characters); // {C}
Implementation
@override
void removeAll(Iterable<Object?> elements, {bool notifyListeners = true}) {
if (notifyListeners && (hasEvent || hasChangeEvent)) {
final events = <int, E>{};
final values = toList(growable: false);
for (var i = 0; i < values.length; i++) {
for (var element in elements) {
if (values[i] == element) {
value.remove(element);
final key = i;
events.addAll(<int, E>{key: element as E});
notifyChangeListeners(CollectionChangeEvent(
CollectionEventType.removal, key, element));
}
}
}
if (events.isNotEmpty) {
notifyEventListeners(
CollectionEvent<int, E>(CollectionEventType.removal, events));
}
} else {
value.removeAll(elements);
}
if (notifyListeners) this.notifyListeners(value);
}