Я хочу написать метод, который удаляет все элементы из коллекции, которые следуют за определенным шаблоном. В функциональных языках я использовал бы фильтр() с выражением лямбда. Однако, на Java, кажется, я застрял в этом:
public void removeAllBlueCars() {
LinkedList<Car> carsToRemove = new LinkedList<Car>();
for (Car c : cars) {
if (c.getCarColor() == Color.BLUE) {
carsToRemove.add(c);
}
}
cars.removeAll(carsToRemove );
}
Удаление элементов напрямую вызывает исключение ConcurrentModificationException. Есть ли лучший способ сделать это, не прибегая к Google Collections?