Stream gatherers
Utilisez des gatherers pour des opérations intermédiaires personnalisées dans les streams.
Comparaison de Code
✕ Java 8
// Sliding window: manual implementation
List<List<T>> windows = new ArrayList<>();
for (int i = 0; i <= list.size()-3; i++) {
windows.add(
list.subList(i, i + 3));
}
✓ Java 24+
var windows = stream
.gather(
Gatherers.windowSliding(3)
)
.toList();
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Composable
Les gatherers se composent avec d'autres opérations de stream.
Opérations intégrées
windowFixed, windowSliding, fold, scan disponibles nativement.
Extensible
Écrivez des gatherers personnalisés pour n'importe quelle transformation intermédiaire.
Ancienne Approche
Collector personnalisé
Approche Moderne
gather()
Depuis JDK
24
Difficulté
Avancé
Support JDK
Stream gatherers
Disponible
Finalisé dans JDK 24 (JEP 485, mars 2025).
Comment ça fonctionne
Les gatherers sont une nouvelle opération intermédiaire de stream qui permet d'exprimer des transformations complexes comme des fenêtres glissantes, des groupes de taille fixe et des opérations de scan qui étaient impossibles avec les opérations standard de stream.
Documentation Associée