Goyave - Comment faire pour supprimer à partir d'une liste, basée sur un prédicat, en gardant une trace de ce qui a été enlevé?

J'ai un ArrayList à filtrer, et de divers Goyave Predicates pour le filtre avec. Cette liste sera que de 50 à 100 éléments.

J'avais l'intention de Iterables.removeIf à l'aide de chaque prédicat à son tour. C'est peut-être pas au maximum efficace mais jamais l'esprit (au moins removeIf a certains d'optimisation pour RandomAccess listes)

Pour le débogage, je veux, de façon concise, journal de ce que chaque prédicat n'. par exemple,

Pred0 removed [a, c, g]
Pred1 removed []
Pred2 removed [b, f]

Il y a quelques évident hack des solutions, mais que voulez-vous suggérer que le plus propre?

Pour les points de bonus, il devrait être raisonnablement efficace aussi. 😉

InformationsquelleAutor Iain | 2011-06-27