<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gatherer on Sven Ruppert</title><link>https://sven-ruppert.info/tags/gatherer/</link><description>Recent content in Gatherer on Sven Ruppert</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>sven.ruppert@gmail.com (Sven Ruppert)</managingEditor><webMaster>sven.ruppert@gmail.com (Sven Ruppert)</webMaster><copyright>© 2026 Sven Ruppert</copyright><lastBuildDate>Wed, 02 Apr 2025 20:58:21 +0000</lastBuildDate><atom:link href="https://sven-ruppert.info/tags/gatherer/index.xml" rel="self" type="application/rss+xml"/><item><title>Rethinking Java Streams: Gatherer for more control and parallelism</title><link>https://sven-ruppert.info/posts/rethinking-java-streams-gatherer-for-more-control-and-parallelism/</link><pubDate>Wed, 02 Apr 2025 20:58:21 +0000</pubDate><author>sven.ruppert@gmail.com (Sven Ruppert)</author><guid>https://sven-ruppert.info/posts/rethinking-java-streams-gatherer-for-more-control-and-parallelism/</guid><description>&lt;p&gt;Since version 8, Java has introduced an elegant, functional approach to processing data sets with the Streams API. The terminal operation collect(&amp;hellip;) represents the bridge from the stream to a targeted aggregation - in the form of lists, maps, strings or more complex data structures. Until Java 20 the processing was done Collector-Instances were regulated, which internally consisted of a supplier, an accumulator, a combiner and optionally a finisher. This model works well for simple accumulations but has noticeable limitations, particularly for complex, stateful, or conditional aggregations.&lt;/p&gt;</description></item></channel></rss>