Operazioni collettive sulle collezioni al posto dei cicli di mutazione
Usa removeIf(), replaceAll() e List.sort() per trasformazioni dirette delle collezioni.
Confronto Codice
✕ Iterator mutation loop
for (Iterator<Order> it = orders.iterator(); it.hasNext();) {
if (it.next().cancelled()) {
it.remove();
}
}
✓ Java 8+
orders.removeIf(Order::cancelled);
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Intento chiaro
L'operazione descrive cosa cambia, non come iterare.
Mutazione più sicura
Evita le regole della rimozione manuale tramite iteratore.
Meno codice
Le trasformazioni comuni diventano una singola espressione.
Approccio Vecchio
Rimozione manuale tramite iteratore
Approccio Moderno
Collection.removeIf()
Dal JDK
8
Difficoltà
Principiante
Supporto JDK
Operazioni collettive sulle collezioni al posto dei cicli di mutazione
Disponibile
Disponibile dal JDK 8 (marzo 2014)
Come funziona
Le moderne interfacce delle collezioni espongono direttamente le mutazioni comuni. Metodi come removeIf(), replaceAll() e List.sort() sostituiscono i cicli ricchi di logica di controllo con operazioni che esprimono la trasformazione desiderata.
Documentazione Correlata
Prova