IntStream reduce(int identity, IntBinaryOperator op) in Java with Examples
IntStream reduce(int identity, IntBinaryOperator op) performs a reduction on the elements of this stream, using the provided identity value and an associative accumulation function, and returns the reduced value.
A reduction operation or fold takes a sequence of input elements and combines them into a single summary result, such as finding the sum or maximum of a set of numbers. An operator or function op is associative if the following holds :
(a op b) op c == a op (b op c)
This is a terminal operation i.e, it may traverse the stream to produce a result or a side-effect. After the terminal operation is performed, the stream pipeline is considered consumed, and can no longer be used.
Syntax :
int reduce(int identity, IntBinaryOperator op)
Parameters :
- identity : The identity value for the accumulating function.
- IntBinaryOperator : An operation upon two int-valued operands and producing an int-valued result.
- op : An associative, stateless function for combining two values.
Return Value : The result of the reduction.
Example 1 :
import java.util.*;
import java.util.stream.IntStream;
class GFG {
public static void main(String[] args)
{
IntStream stream = IntStream.of( 2 , 3 , 4 , 5 , 6 );
int answer = stream.reduce( 0 , (num1, num2)
-> (num1 + num2) * 2 );
System.out.println(answer);
}
}
|
Output :
176
Example 2 :
import java.util.*;
import java.util.stream.IntStream;
class GFG {
public static void main(String[] args)
{
IntStream stream = IntStream.range( 4 , 10 );
int answer = stream.reduce( 0 , (num1, num2)
-> (num1 + num2) - 2 * (num1 - num2));
System.out.println(answer);
}
}
|
Output :
9
Last Updated :
06 Dec, 2018
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...