Friday, October 17, 2025
HomeLanguagesJavaIntStream reduce(int identity, IntBinaryOperator op) in Java with Examples

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 :




// Java code for IntStream reduce
// (int identity, IntBinaryOperator op)
import java.util.*;
import java.util.stream.IntStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an IntStream
        IntStream stream = IntStream.of(2, 3, 4, 5, 6);
  
        // Using IntStream reduce
        // (int identity, IntBinaryOperator op)
        int answer = stream.reduce(0, (num1, num2)
                                          -> (num1 + num2) * 2);
  
        // Displaying the result
        System.out.println(answer);
    }
}


Output :

176

Example 2 :




// Java code for IntStream reduce
// (int identity, IntBinaryOperator op)
import java.util.*;
import java.util.stream.IntStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating an IntStream
        IntStream stream = IntStream.range(4, 10);
  
        // Using IntStream reduce
        // (int identity, IntBinaryOperator op)
        int answer = stream.reduce(0, (num1, num2)
                                          -> (num1 + num2) - 2 * (num1 - num2));
  
        // Displaying the result
        System.out.println(answer);
    }
}


Output :

9
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS