Collectors averagingInt() method in Java 8

The averagingInt() method of the Collectors class returns a Collector that produces the arithmetic mean of a int-valued function applied to the input elements.

The syntax is as follows −

static <T> Collector<T,?,Double> averagingInt(ToIntFunction<? super T> mapper)

Here, the parameters −

  • T − Type of the input elements

  • mapper − Function extracting the property to be summed

  • Double − It wraps a value of the primitive type double in an object.

  • ToIntFunction − A function that produces a int-valued result.

To work with Collectors class in Java, import the following package −


The following is an example to implement averagingLong() method in Java −


 Live Demo


public class Demo {
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("20", "50", "75", "100", "150", "200");
      double res = stream.collect(Collectors.averagingInt(a -> Integer.parseInt(a)));
      System.out.println("Arithmetic Mean of the stream elements = "+res);


Arithmetic Mean of the stream elements = 99.16666666666667