Collections Intermédiaire

Collecte directement dans une liste non modifiable avec stream.toList().

✕ Java 8
List<String> list = stream.collect(
    Collectors.collectingAndThen(
        Collectors.toList(),
        Collections::unmodifiableList
    )
);
✓ Java 16+
List<String> list = stream.toList();
Un problème avec ce code ? Dites-le nous.
📏

Le plus court possible

stream.toList() ne nécessite pas collect() ni l'import de Collectors.

🔒

Immutable

Le résultat ne peut pas être modifié — sans mutations accidentelles.

📖

Lisible

Se lit naturellement comme étape terminale de n'importe quel pipeline de stream.

Ancienne Approche
collectingAndThen
Approche Moderne
stream.toList()
Depuis JDK
16
Difficulté
Intermédiaire
Collectors non modifiables
Disponible

Disponible depuis JDK 16 (mars 2021)

Java 10 a ajouté toUnmodifiableList(), toUnmodifiableSet() et toUnmodifiableMap() pour remplacer le wrapper verbose collectingAndThen. Pour les listes spécifiquement, stream.toList() de Java 16 offre une alternative encore plus simple — sans appel à collect() du tout. Utilisez toUnmodifiableSet() et toUnmodifiableMap() pour les autres types de collections.

Partager 𝕏 🦋 in