Moyen facile de filtrer les éléments d'une collection en Java?

Je veux écrire une méthode qui supprime tous les éléments d'une collection qui suivent un certain rythme. Dans les langages fonctionnels, je voudrais utiliser filtre() avec une expression lambda. Toutefois, en Java, il semble que je suis coincé avec ce:

public void removeAllBlueCars() {
    LinkedList<Car> carsToRemove = new LinkedList<Car>();
    for (Car c : cars) {
        if (c.getCarColor() == Color.BLUE) {
            carsToRemove.add(c);
        }
    }
    cars.removeAll(carsToRemove );
}

La suppression des éléments de la cause directe d'une ConcurrentModificationException. Est-il une meilleure façon de le faire sans recourir à Google Collections?

  • Et vous ne voulez pas utiliser google collections pourquoi? BTW, code.google.com/p/guava-libraries est le nouveau google collections...
  • J'aime Google Collections/Goyave, cependant ma question était justement de ne trouver comment faire cela sans avoir recours à des bibliothèques.
  • Je me suis amusé ou perturbés par cette notion que lourdement testé et massivement utilisé les bibliothèques sont des choses que nous "le recours à", sans doute en larmes moment de faiblesse. 🙂
  • Je pense qu'il veut "BAISER".
InformationsquelleAutor Frederik | 2010-09-07