void retainWhere(
bool test(E element)
)

Removes all objects from this list that fail to satisfy test.

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

List<String> numbers = 'one', 'two', 'three', 'four'; numbers.retainWhere((item) => item.length == 3); numbers.join(', '); // 'one, two'

Throws an UnsupportedError if this is a fixed-length list.

Source

void retainWhere(bool test(E element)) {
  throw new UnsupportedError("Cannot remove from immutable List.");
}