Java DoubleStream max()与实例
Java 8中的 java.util.stream.DoubleStream 处理原始的双数。它有助于以一种新的方式解决诸如寻找数组中的最大值、寻找数组中的最小值、数组中所有元素的总和以及数组中所有值的平均值等问题。 DoubleStream max() 返回一个描述此流的最大元素的OptionalDouble,如果此流为空,则返回一个空的Optional。
语法:
OptionalDouble() max()
其中,OptionalDouble是一个容器对象,它可以包含或不包含一个双值。
可能包含也可能不包含一个双倍值。
注意 :
- 与数字比较运算符不同,这种方法认为负零严格小于正零。
- 这是还原的一种特殊情况。
例1 :
// Java code for DoubleStream max()
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// creating a stream
DoubleStream stream = DoubleStream.of(-9.5, -18.6, 54.3,
8.5, 7.4, 14.2, 3.9);
// OptionalDouble is a container object
// which may or may not contain a
// double value.
OptionalDouble obj = stream.max();
// 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");
}
}
}
输出:
54.3
例2 :
// Java code for DoubleStream max()
import java.util.*;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// OptionalDouble is a container object
// which may or may not contain a
// double value.
OptionalDouble obj = DoubleStream.empty()
.max();
// 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");
}
}
}
输出:
-1