Java 8 Stream reduce operasyonu kaynaktaki her elemanın birleştirilerek tekil bir eleman oluşturulması işlemini görmektedir, yani eğer bir String listesini kaynak olarak kullanıyorsak bu Stringlerin birleştirilip bir adet String değişkeni üretmemiz reduce operasyonu olarak adlandırılır.
Reduce yapabilmek için iki farklı parametreyi belirtmek zorundayız. İki parametreden ilki olan ilk değer parametresi birleştirme işlemi yaparken başlangıç değerini belirtmektedir. Bu başlangıç değeri kaynaktaki ilk eleman ile birleştirilir.
İkinci bir diğer parametremiz ise BinaryOperator tipinde olmalıdır, burada yapılan işlemi belirtirirz. Kaynak içinde yer alan verilerin nasıl birleştiriliceğine dair bir fonksiyon yazarız.
Reduce Stringleri birleştirmek için veya kaynak içerisindeki elemanların toplanması için kullanılabilmektedir.
List < String > a = new ArrayList < > (); a.add("dogukan"); a.add("han"); a.add("onur"); String complete = a.stream().reduce("", (x, y) - > x + " " + y); System.out.println(complete); int total = IntStream.range(0, 20).reduce(0, (x, y) - > x + y); System.out.println(total);