removeWhere method

  1. @override
void removeWhere(
  1. bool test(
    1. E element
    )
)
override

Removes all objects from this list that satisfy test.

An object o satisfies test if test(o) is true.

final numbers = <String>['one', 'two', 'three', 'four'];
numbers.removeWhere((item) => item.length == 3);
print(numbers); // [three, four]

The list must be growable.

Implementation

@override
void removeWhere(bool Function(E element) test) {
  _Node<E>? current = _head;
  while (current != null) {
    final next = current.next; // Store next before potential removal
    if (test(current.value)) {
      remove(current.value); // Use existing remove method
    }
    current = next;
  }
}