Stream.toList()
Il terminale toList() sostituisce il verboso collect(Collectors.toList()).
Confronto Codice
✕ Java 8
List<String> result = stream
.filter(s -> s.length() > 3)
.collect(Collectors.toList());
✓ Java 16+
List<String> result = stream
.filter(s -> s.length() > 3)
.toList();
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
7 caratteri vs 24
.toList() sostituisce .collect(Collectors.toList()).
Immutabile
La lista risultante non può essere modificata.
Fluente
Si legge naturalmente alla fine di una pipeline.
Approccio Vecchio
Collectors.toList()
Approccio Moderno
.toList()
Dal JDK
16
Difficoltà
Principiante
Supporto JDK
Stream.toList()
Disponibile
Ampiamente disponibile dal JDK 16 (marzo 2021)
Come funziona
Stream.toList() restituisce una lista non modificabile. È equivalente a .collect(Collectors.toUnmodifiableList()) ma molto più breve. Nota: il risultato è immutabile, a differenza di Collectors.toList().
Documentazione Correlata