Tuesday 6 October 2020

How to Use Reduce Operation with Stream in Java

Reduce is reduction operation in stream . Reduce is use reduce Stream into a single starting with initial value and reduction operation then iteratively combining it with each item of stream using a BinaryOperator  .

Example 
int sum = numberList.stream() .reduce(0,(a,b)->a+b);

Reduce Stream Application 

ReduceStreamApplication.java
package in.jk.java8.stream;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

public class ReduceStreamApplication {
public static void main(String[] args) {
Integer[] numbers = {1,2,3,4,5,6,7,8,9,10};
List<Integer> numberList =Arrays.asList(numbers);
 
System.out.println("\nReduce With Lambda Expression \n ");
int sum = numberList.stream()
              .reduce(0,(a,b)->a+b);
System.out.println("Sum By Reduce :: "+sum);
 
    System.out.println(" \nReduce With Method Reference \n ");
Optional<Integer> sumOptional = numberList.stream()
                                   .reduce(Integer::sum);
int sum1 =sumOptional.get();
System.out.println("Sum By Reduce :: "+sum1);
}

}

Output in Console ...

 Reduce With Lambda Expression 
 
Sum By Reduce :: 55
 
Reduce With Method Reference 
 
Sum By Reduce :: 55
 

No comments:

Post a Comment