📜  Java中的 IntStream average() 示例

📅  最后修改于: 2022-05-13 01:55:23.831000             🧑  作者: Mango

Java中的 IntStream average() 示例

Java 8 中的Java .util.stream.IntStream 处理原始整数。它有助于以一种新的方式解决数组中的最大值,数组中的最小值,数组中所有元素的总和以及数组中所有值的平均值等旧问题。 IntStream average()返回一个 OptionalDouble 描述此流的元素的算术平均值,如果此流为空,则返回一个空的可选项。

句法 :

OptionalDouble average()

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

下面给出了一些示例,以更好地理解该函数。

示例 1:

Java
// 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
        // double 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");
        }
    }
}


Java
// 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
        // double 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");
        }
    }
}


输出 :

5.0

示例 2:

Java

// 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
        // double 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");
        }
    }
}

输出 :

4.857142857142857