java.util.stream.DoubleStream in Java 8, deals with primitive doubles. 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. DoubleStream average() returns an OptionalDouble describing the arithmetic mean of elements of this stream, or an empty optional if this stream is empty. If any recorded value is a NaN or the sum is at any point a NaN then the average will be NaN.
Syntax :
OptionalDouble average()
Where, OptionalDouble is a container object
which may or may not contain a double value.
Note : The average returned can vary depending upon the order in which values are recorded. Elements sorted by increasing absolute magnitude tend to yield more accurate results.
Example 1 :
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
public static void main(String[] args)
{
DoubleStream stream = DoubleStream.of( 2.5 , 3.6 , 4.7 , 5.0 , 6.2 );
OptionalDouble obj = stream.average();
if (obj.isPresent()) {
System.out.println(obj.getAsDouble());
}
else {
System.out.println( "-1" );
}
}
}
|
Example 2 :
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
public static void main(String[] args)
{
OptionalDouble obj = DoubleStream.empty().average();
if (obj.isPresent()) {
System.out.println(obj.getAsDouble());
}
else {
System.out.println( "-1" );
}
}
}
|
Example 3 :
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
public static void main(String[] args)
{
DoubleStream stream = DoubleStream.of( 2.5 , 3.6 , 4.7 ,
Double.MAX_VALUE, Double.MAX_VALUE);
OptionalDouble obj = stream.average();
if (obj.isPresent()) {
System.out.println(obj.getAsDouble());
}
else {
System.out.println( "-1" );
}
}
}
|
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
06 Dec, 2018
Like Article
Save Article