IntStream average() in Java with Examples

java.util.stream.IntStream in Java 8, deals with primitive ints. It helps to solve the old problems like finding maximum value in array, finding minimum value in array, sum of all elements in array, and average of all values in array in a new way. IntStream average() returns an OptionalDouble describing the arithmetic mean of elements of this stream, or an empty optional if this stream is empty.
Syntax :

OptionalDouble average()

Where, OptionalDouble is a container object 
which may or may not contain a double value.

Below given are some examples to understand the function in a better way.
Example 1 :

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code for IntStream average()
import java.util.*;
import java.util.stream.IntStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // creating a stream
        IntStream stream = IntStream.of(2, 3, 4, 5, 6, 7, 8);
  
        // OptionalDouble is a container object
        // which may or may not contain a
        // doouble value.
        OptionalDouble obj = stream.average();
  
        // If a value is present, isPresent() will
        // return true and getAsDouble() will
        // return the value
        if (obj.isPresent()) {
            System.out.println(obj.getAsDouble());
        }
        else {
            System.out.println("-1");
        }
    }
}

chevron_right


Output :

5.0

Example 2 :

filter_none

edit
close

play_arrow

link
brightness_4
code

// Implementation of IntStream average()
import java.util.*;
import java.util.stream.IntStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        // creating a stream
        IntStream stream = IntStream.of(2, 3, 3, 4, 6, 8, 8);
  
        // OptionalDouble is a container object
        // which may or may not contain a
        // doouble value.
        OptionalDouble obj = stream.average();
  
        // If a value is present, isPresent() will
        // return true and getAsDouble() will
        // return the value
        if (obj.isPresent()) {
            System.out.println(obj.getAsDouble());
        }
        else {
            System.out.println("-1");
        }
    }
}

chevron_right


Output :

4.857142857142857


My Personal Notes arrow_drop_up

In love with a semicolon because sometimes i miss it so badly)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.