Outre toutes les excellentes solutions proposées ici, j'aimerais proposer une solution différente.
Je ne suis pas sûr que vous soyez libre d'ajouter des dépendances, mais si c'est le cas, vous pourriez ajouter le fichier https://code.google.com/p/guava-libraries/ en tant que dépendance. Cette bibliothèque ajoute le support de nombreuses opérations fonctionnelles de base à Java et peut rendre le travail avec les collections beaucoup plus facile et plus lisible.
Dans le code, j'ai remplacé le type de la liste par T, car je ne sais pas en quoi votre liste est typée.
Ce problème peut, avec la goyave, être résolu de la manière suivante :
List<T> filteredList = new Arraylist<>(filter(list, not(XXX_EQUAL_TO_AAA)));
Et ailleurs, vous définissez XXX_EQUAL_TO_AAA comme suit :
public static final Predicate<T> XXX_EQUAL_TO_AAA = new Predicate<T>() {
@Override
public boolean apply(T input) {
return input.getXXX().equalsIgnoreCase("AAA");
}
}
Cependant, c'est probablement excessif dans votre situation. C'est simplement quelque chose qui devient de plus en plus puissant à mesure que vous travaillez avec des collections.
Ohw, aussi, vous avez besoin de ces importations statiques :
import static com.google.common.base.Predicates.not;
import static com.google.common.collect.Collections2.filter;