Collections Principiante

Operazioni collettive sulle collezioni al posto dei cicli di mutazione

Usa removeIf(), replaceAll() e List.sort() per trasformazioni dirette delle collezioni.

✕ 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.
👁

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
Operazioni collettive sulle collezioni al posto dei cicli di mutazione
Disponibile

Disponibile dal JDK 8 (marzo 2014)

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.