Java 8 | Collectors averagingInt() with Examples

Collectors averagingInt(ToIntFunction<? super T> mapper)
Syntax:
public static 
   <T> Collector<T, ?, Double> 
     averagingInt(ToIntFunction<? super T> mapper)
  • Interface Collector<T, A, R>: A mutable reduction operation that accumulates input elements into a mutable result container, optionally transforming the accumulated result into a final representation after all input elements have been processed. Reduction operations can be performed either sequentially or in parallel.
    • T: The type of input elements to the reduction operation.
    • A: The mutable accumulation type of the reduction operation.
    • R: The result type of the reduction operation.
  • Double: The Double class wraps a value of the primitive type double in an object. An object of type Double contains a single field whose type is double.
  • ToIntFunction: Represents a function that produces an int-valued result.
Parameters:
mapper
ToIntFunction
Program 1:
// Java code to show the implementation of
// Collectors averagingInt(ToIntFunction mapper) function
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // creating a string stream with numbers
        Stream<String> s = Stream.of("3", "4", "5");
  
        // using Collectors averagingInt(ToIntFunction mapper)
        // method to find arithmetic mean of inputs given
        double ans = s
                         .collect(Collectors
                                      .averagingInt(
                                          num -> Integer.parseInt(num)));
  
        // displaying the result
        System.out.println(ans);
    }
}

                    
Output:
4.0
Program 2:
// Java code to show the implementation of
// Collectors averagingInt(ToIntFunction mapper) function
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // creating a empty string stream
        Stream<String> s = Stream.of();
  
        // using Collectors averagingInt(ToIntFunction mapper)
        // method to find arithmetic mean of inputs given
        double ans = s
                         .collect(Collectors
                                      .averagingInt(
                                          num -> Integer.parseInt(num)));
  
        // displaying the result
        System.out.println(ans);
    }
}

                    
Output:
0.0
Program 3:
// Java code to show the implementation of
// Collectors averagingInt(ToIntFunction mapper) function
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // creating a string stream
        Stream<String> s = Stream.of("7", "8", "9", "10");
  
        // using Collectors averagingInt(ToIntFunction mapper)
        // method to find arithmetic mean of inputs given
        double ans = s
                         .collect(Collectors
                                      .averagingInt(
                                          num -> Integer.parseInt(num)));
  
        // displaying the result
        System.out.println(ans);
    }
}

                    
Output:
8.5


Contact Us