Stream.toList()
Le terminal toList() remplace le verbose collect(Collectors.toList()).
Comparaison de Code
✕ 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();
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
7 caractères vs 24
.toList() remplace .collect(Collectors.toList()).
Immutable
La liste résultante ne peut pas être modifiée.
Fluide
Se lit naturellement à la fin d'un pipeline.
Ancienne Approche
Collectors.toList()
Approche Moderne
.toList()
Depuis JDK
16
Difficulté
Débutant
Support JDK
Stream.toList()
Disponible
Disponible depuis JDK 16 (mars 2021)
Comment ça fonctionne
Stream.toList() retourne une liste non modifiable. C'est équivalent à .collect(Collectors.toUnmodifiableList()) mais beaucoup plus court. Note : le résultat est immutable, contrairement à Collectors.toList().
Documentation Associée