Streams Avancé

Utilisez des gatherers pour des opérations intermédiaires personnalisées dans les streams.

✕ 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.
🧩

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é
Stream gatherers
Disponible

Finalisé dans JDK 24 (JEP 485, mars 2025).

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.

Partager 𝕏 🦋 in