Stream Gatherers – Schreibe deine eigenen Stream-Operationen!

Die Java-Stream-API wurde mit Java 8 im März 2014 veröffentlicht und hat uns ein grundlegend neues Werkzeug an die Hand gegeben, um Daten zu verarbeiten.

Allerdings führt der begrenzte Satz an intermediären Operationen – filter, map, flatMap, mapMulti, distinct, sorted, peak, limit, skip, takeWhile und dropWhile – dazu, dass komplexere Datentransformationen durch die Stream-API nicht ausgedrückt werden können.

Es fehlen verbreitete intermediäre Operationen wie window und fold und zahlreiche mehr, wenn man sich die Feature-Requests der Java-Community ansieht.

Anstatt nun all diese Operationen ins Stream-Interface zu integrieren, entwickelten die JDK-Developer eine neue API, die man zum einen im JDK selbst nutzen kann, um heiß begehrte intermediäre Operationen zu implementieren, und mit der zum anderen Entwicklerinnen und Entwickler ihre eigenen Operationen implementieren können.

Diese neue API mit dem Namen Stream Gatherers wurde in Java 22 im März 2024 als Preview-Feature veröffentlicht – genau zehn Jahre nach der Einführung der Stream-API. In Java 23 gingen Stream Gatherers ohne Änderungen in eine zweite Preview-Runde.

Lernziele

In diesem Talk erfahrt ihr, was Stream Gatherer sind, wie sie funktionieren, welche Gatherer im JDK verfügbar sind, wie ihr selbst eigene Gatherer implementieren könnt und wo die Grenzen von Stream Gatherers liegen.

Speaker

 

Sven Woltmann
Sven Woltmann ist Java-Entwickler der ersten Stunde. Er arbeitet als unabhängiger Entwickler, Trainer und Kursleiter mit Schwerpunkt auf skalierbaren Unternehmensanwendungen, Optimierung von Algorithmen, Clean Code und Clean Architecture. Er teilt sein Wissen über Java, Architektur, Algorithmen und Datenstrukturen in Videos, seinem Newsletter und seinem Blog.

betterCode-Newsletter

Du möchtest über die betterCode() Java und weitere unserer betterCode()-Events auf dem Laufenden gehalten werden?

 

Anmelden