Close

Java 8 Streams - DoubleStream.average Examples

Java 8 Streams Java Java API 


Interface:

java.util.stream.DoubleStream

java.lang.AutoCloseableAutoCloseablejava.util.stream.BaseStreamBaseStreamjava.util.stream.DoubleStreamDoubleStreamLogicBig

Method:

OptionalDouble average()

This terminal operation returns an OptionalDouble describing the arithmetic mean of elements of this stream, or an empty optional if this stream is empty. This is a special case of reduction.

If any element is a NaN or the sum is at any point a NaN then the average will be NaN.

Examples


package com.logicbig.example.doublestream;

import java.util.stream.DoubleStream;

public class AverageExample {

public static void main(String... args) {
DoubleStream doubleStream = DoubleStream.of(1.2, 1.3, 1.4, 1.5, 1.6);
double d = doubleStream.average()
.orElse(-100);
System.out.println(d);
}
}

Output

1.4




package com.logicbig.example.doublestream;

import java.util.OptionalDouble;
import java.util.stream.DoubleStream;

public class AverageExample2 {

public static void main(String... args) {
OptionalDouble average = DoubleStream.empty()
.average();

System.out.println(average.isPresent());
if (average.isPresent()) {
System.out.println(average.getAsDouble());
}
}
}

Output

false




package com.logicbig.example.doublestream;

import java.util.OptionalDouble;
import java.util.stream.DoubleStream;

public class AverageExample3 {

public static void main(String... args) {
DoubleStream ds = DoubleStream.of(1.0, 1.2, 2.0, 2.4, Double.NaN);
OptionalDouble average = ds.average();
if (average.isPresent()) {
System.out.println(average.getAsDouble());
}
}
}

Output

NaN




package com.logicbig.example.doublestream;

import java.util.OptionalDouble;
import java.util.stream.DoubleStream;

public class AverageExample4 {

public static void main(String... args) {
DoubleStream ds = DoubleStream.of(1.0, Double.MAX_VALUE, Double.MAX_VALUE);
OptionalDouble average = ds.average();
if (average.isPresent()) {
System.out.println(average.getAsDouble());
}
}
}

Output

Infinity

package com.logicbig.example.doublestream;

import java.util.OptionalDouble;
import java.util.stream.DoubleStream;

public class AverageExample5 {

public static void main(String... args) {
DoubleStream ds = DoubleStream.of(1.0, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY);
OptionalDouble average = ds.average();
if (average.isPresent()) {
System.out.println(average.getAsDouble());
}
}
}

Output

Infinity




See Also