Example of reduce function in Java 8 streams:
reduce() is a method provided as a part of streams api which comes handy when you want to implement your own reduction mechanism.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
package ravi.tutorial.java.java8.lambda; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class StreamReduceExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("First"); list.add("Second"); list.add("Third"); list.add("Fourth"); Optional<String> reducedString = list.stream() .reduce((result, element) -> { System.out.println( "Result = " + result + " | Element = " + element); return result = result + " AND " + element; }); System.out.println("Final reduced string = " + (reducedString.isPresent() ? reducedString.get() : "NONE")); } } |
Output:
1 2 3 4 |
Result = First | Element = Second Result = First AND Second | Element = Third Result = First AND Second AND Third | Element = Fourth Final reduced string = First AND Second AND Third AND Fourth |