retainWhere method

  1. @override
void retainWhere(
  1. bool test(
    1. T element
    )
)
override

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));
}