Streams kennt ihr – aber wann sind Parallel Streams wirklich schneller, und wann bremsen sie? Wie baut man Custom Collectors, die sich sauber mit groupingBy() kombinieren lassen? Und was ermöglichen Stream Gatherers (ab Java 24), das vorher schlicht nicht möglich war?
In zwei Tagen bringt dieser Kurs euer Team auf das nächste Level der Java Streams API – verständlich erklärt und direkt anwendbar.
💡 Neu bei Java Streams? → Java Streams Basics Schulung
✅ Streams bereits bekannt, bereit für mehr? → Ihr seid hier richtig.
In diesem zweitägigen Aufbaukurs lernt ihr, wie ihr die Java Stream API in der Tiefe versteht und fortgeschrittene Techniken wie Custom Collectors, Gatherers und Spliterators gezielt einsetzt.
Am ersten Tag stehen fortgeschrittene Collectors und Aggregationstechniken im Fokus. Ihr lernt, wie ihr mit groupingBy() Daten flexibel gruppiert, Downstream Collectors kombiniert und reduce() für anspruchsvolle Aggregationen einsetzt – und entwickelt anschließend eigene Collector-Implementierungen für eure konkreten Anforderungen. Dabei bekommt ihr ein Gespür dafür, wann und wie Parallelisierung sinnvoll ist – und welche Fallstricke ihr besser vermeidet.
Am zweiten Tag tauchen wir ein in die Welt der Spliterators und der Gatherers-API – seit Java 24 fester Bestandteil der Stream API. Ihr erfahrt, wie ihr mit Custom Spliterators große Datenmengen effizient aufteilt und Streams präzise steuert. Mit Stream Gatherers baut ihr leistungsfähige Streaming-Operationen mit Zustand – wie Sliding Windows und Folding.
Zahlreiche Übungen und ein abschließender Refactoring-Workshop sorgen dafür, dass ihr das Gelernte direkt anwenden könnt – mit echtem Mehrwert für eure Projekte.
👉 Du möchtest das komplette Spektrum der Stream API in einem Kurs? → Kombikurs Java Streams Basics + Advanced
👉 Euer Team arbeitet noch mit Java 17 oder 21? Dann könnte auch unsere Java-25-Schulung interessant für euch sein.
Der Kurs richtet sich an erfahrene Java-Entwickler:innen, die bereits mit Streams gearbeitet haben und jetzt tiefer in fortgeschrittene Themen einsteigen möchten.
Wenn ihr regelmäßig mit Streams arbeitet, euren Code weiter verbessern wollt – oder neugierig auf Custom Collectors, Gatherers oder Spliterators seid – seid ihr hier genau richtig.
Das Training ist interaktiv und praxisnah aufgebaut: Nach kurzen Theorie-Phasen folgt direkt die Anwendung am Code mit Beispielen aus echten Projekten.
Ihr arbeitet gemeinsam an konkreten Szenarien, diskutiert Lösungen und erhaltet direktes Feedback.
So bleibt das Wissen nachhaltig im Team verankert – nicht nur theoretisch, sondern im täglichen Coding.
Die Themen bauen systematisch aufeinander auf. Wir wechseln zwischen fortgeschrittener Theorie, konkreten Anwendungsfällen und praxisorientierten Übungen – immer mit Blick auf Performance, Lesbarkeit und Wartbarkeit.
Advanced Collectors und Reduce Operations
reduce() für Aggregationen: Konzepte und praktische Anwendungpeek() für Debugging: Wann sinnvoll, wann nichtgroupingBy(), partitioningBy()counting(), summingInt(), averagingDouble()joining() für String-OperationenCustom Collectors entwickeln
supplier(), accumulator(), combiner(), finisher()CONCURRENT, IDENTITY_FINISH, UNORDEREDStream Performance und Spliterator Grundlagen
ORDERED, SIZED, SUBSIZED, CONCURRENT, etc.Legacy Code Refactoring Workshop
Fortgeschrittene Stream-Patterns und Custom Spliterators
OptionaltryAdvance(), trySplit(), estimateSize()generate(), iterate()Stream Gatherers (ab Java 22, finalisiert in Java 24)
integrator(), combiner(), finisher()fold(), scan(), windowFixed(), windowSliding()Einen ersten Überblick gibt der Artikel zu Stream Gatherers auf HappyCoders.eu.
Integration und Architecture Patterns
Workshop und Problemlösung
⭐⭐⭐⭐⭐
Bewertet mit 4,97 von 5 auf ProvenExpert
Können Einzelpersonen das Training buchen?
Dieses Training ist ausschließlich für Teams buchbar. Wenn du als Einzelperson teilnehmen möchtest, biete ich zwei Kurse über ppedv an:
Wie viele Teilnehmer:innen sind möglich?
Ich empfehle maximal 12 Teilnehmer:innen pro Training. So kann ich alle individuell betreuen. Eine Mindestanzahl gibt es nicht – ich berechne pro Training, nicht pro Person.
Wie läuft die Buchung ab?
Am einfachsten über das Anfrageformular oder per E-Mail an schulung@happycoders.eu. Direkt nach dem Absenden kannst du über Calendly einen Video-Call buchen, in dem wir die Details besprechen. Danach bekommst du ein konkretes Angebot von mir.
Welche Java-Vorkenntnisse werden vorausgesetzt?
Der Kurs setzt voraus, dass du bereits praktische Erfahrung mit der Stream API hast – du solltest mit filter(), map(), collect() und den gängigen Standard-Collectors vertraut sein.
Wer noch nie mit Streams gearbeitet hat, ist im Basics-Kurs besser aufgehoben.
Welche technischen Voraussetzungen brauchen wir?
Alle Teilnehmer:innen brauchen eine aktuelle IDE mit mindestens Java 24 – ich selbst verwende IntelliJ IDEA. Auch im Terminal sollte mindestens Java 24 installiert sein, da wir einige der Übungen im Terminal durchführen werden.
Wie läuft ein Trainingstag zeitlich ab?
Pro Tag gibt es 6 Stunden Netto-Training – in der Regel mit zwei kurzen Breaks und einer längeren Mittagspause dazwischen. Den genauen Zeitplan stimmen wir auf eure Arbeitszeiten ab – das lässt sich flexibel regeln.
Wie viel Zeit entfällt auf Theorie, wie viel auf Praxis?
Etwa zur Hälfte Theorie, zur Hälfte Praxis: Auf eine kurze Theoriephase folgt direkt die Anwendung am Code – mit Beispielen aus echten Projekten. Reines Zuhören hilft wenig; das Wissen muss sofort benutzt werden, damit es bleibt.
Können wir einzelne Themen aus der Agenda anpassen oder priorisieren?
Ja, das ist problemlos möglich. Themen streichen oder stärker gewichten – solange ich dafür die Trainingsunterlagen nicht umbauen muss, entstehen keine Extrakosten.
Wer umfangreichere Änderungen braucht – zum Beispiel Inhalte aus verschiedenen Kursen kombinieren oder ganz neue Themen aufnehmen – dem erstelle ich gerne ein individuelles Angebot.
Was genau bedeutet „Kursinhalt konfigurierbar"?
Innerhalb der bestehenden Agenda lässt sich die Gewichtung anpassen: Themen kürzen, Schwerpunkte setzen, Reihenfolge ändern. Das geht ohne Aufpreis.
Darüber hinaus sind auch tiefgreifendere Anpassungen möglich – etwa eine Kombination von Inhalten aus verschiedenen Kursen oder komplett neue Themenblöcke. Das ist mit Mehraufwand verbunden, daher erstelle ich dafür ein individuelles Angebot.
Welche Plattform nutzen wir beim virtuellen Training?
In der Regel verwenden wir Zoom. Wenn ihr eine eigene Plattform bevorzugt – zum Beispiel Microsoft Teams oder Google Meet – arbeite ich gerne damit. Sagt mir einfach vorab Bescheid.
Bekommen die Teilnehmer:innen Unterlagen zum Mitnehmen?
Ja. Vor dem Training erhaltet ihr die Übungsaufgaben als Git-Repository, damit ihr direkt loslegen könnt. Nach dem Training bekommt ihr außerdem die Folien – inklusive aller Lösungen zu den Übungsaufgaben.
Was ist in den Reisekosten inbegriffen?
Die Reisekosten werden als Pauschale berechnet – abhängig vom Veranstaltungsort und der Anzahl der benötigten Übernachtungen. Die genaue Summe ist Bestandteil des individuellen Angebots, das ich dir zuschicke.
Gibt es Rabatte bei mehreren gebuchten Trainings?
Ja. Bei mehreren gebuchten Trainings oder Folgebuchungen kann ich einen Mengenrabatt anbieten. Das besprechen wir im Video-Call und ich halte das im Angebot fest.