Opérations groupées sur les collections plutôt que boucles de mutation
Utilisez removeIf(), replaceAll() et List.sort() pour transformer directement les collections.
Comparaison de Code
✕ Iterator mutation loop
for (Iterator<Order> it = orders.iterator(); it.hasNext();) {
if (it.next().cancelled()) {
it.remove();
}
}
✓ Java 8+
orders.removeIf(Order::cancelled);
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Intention claire
L'opération décrit ce qui change, et non la manière d'itérer.
Mutation plus sûre
Évite les règles de suppression manuelle avec un itérateur.
Moins de code
Les transformations courantes tiennent en une seule expression.
Ancienne Approche
Suppression manuelle avec un itérateur
Approche Moderne
Collection.removeIf()
Depuis JDK
8
Difficulté
Débutant
Support JDK
Opérations groupées sur les collections plutôt que boucles de mutation
Disponible
Disponible depuis JDK 8 (mars 2014)
Comment ça fonctionne
Les interfaces de collection modernes exposent directement les mutations courantes. Des méthodes telles que removeIf(), replaceAll() et List.sort() remplacent les boucles chargées de logique de contrôle par des opérations qui expriment la transformation souhaitée.
Documentation Associée
Preuve