retainWhere method
Removes all elements of this set that fail to satisfy test.
final characters = <String>{'A', 'B', 'C'};
characters.retainWhere(
(element) => element.startsWith('B') || element.startsWith('C'));
print(characters); // {B, C}
Implementation
@override
void retainWhere(bool Function(T element) test) {
final Set<T> removed = _set.where((element) => !test(element)).toSet();
_set.retainWhere(test);
notifyListeners(SetChangeDetails<T>(const [], removed));
}