Collections Intermedio

Raccogli direttamente in una lista non modificabile con stream.toList().

✕ Java 8
List<String> list = stream.collect(
    Collectors.collectingAndThen(
        Collectors.toList(),
        Collections::unmodifiableList
    )
);
✓ Java 16+
List<String> list = stream.toList();
Vedi un problema con questo codice? Faccelo sapere.
📏

Il più breve

stream.toList() non necessita di collect() né dell'importazione di Collectors.

🔒

Immutabile

Il risultato non può essere modificato — nessuna mutazione accidentale.

📖

Leggibile

Si legge naturalmente come passo terminale di qualsiasi pipeline stream.

Approccio Vecchio
collectingAndThen
Approccio Moderno
stream.toList()
Dal JDK
16
Difficoltà
Intermedio
Collector non modificabili
Disponibile

Ampiamente disponibile dal JDK 16 (marzo 2021)

Java 10 ha aggiunto toUnmodifiableList(), toUnmodifiableSet() e toUnmodifiableMap() per sostituire il verboso wrapper collectingAndThen. Per le liste in particolare, stream.toList() di Java 16 fornisce un'alternativa ancora più semplice — nessuna chiamata a collect(). Usa toUnmodifiableSet() e toUnmodifiableMap() per altri tipi di collezione.

Condividi 𝕏 🦋 in