📅  最后修改于: 2023-12-03 15:01:53.647000             🧑  作者: Mango
IntStream max() 方法是 Java 8 中 IntStream 类中的一个方法,用于获取 IntStream 流中的最大值。
下面是该方法的语法:
OptionalInt max()
该方法返回一个 OptionalInt 类型的值,表示 IntStream 流中的最大值,如果流为空,则返回空的 OptionalInt 对象。
下面是一个简单的示例代码,演示如何使用 max() 方法来获取 IntStream 流中的最大值:
import java.util.Arrays;
import java.util.OptionalInt;
import java.util.stream.IntStream;
public class IntStreamMaxExample {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
OptionalInt max = Arrays.stream(nums).max();
if (max.isPresent()) {
System.out.println("Max value is " + max.getAsInt());
} else {
System.out.println("Stream is empty!");
}
}
}
上述代码中,我们定义了一个整数数组 nums,并将其转换为 IntStream 流。然后我们调用 max() 方法获取该流中的最大值,并使用 isPresent() 方法判断 OptionalInt 对象是否包含值。如果包含,我们使用 getAsInt() 方法获取最大值。
输出结果如下:
Max value is 10
如果该流为空,输出结果如下:
Stream is empty!
我们还可以使用 max() 方法结合其他 Stream API 中的方法来获取更复杂的结果。例如,我们可以使用 filter() 方法筛选 IntStream 流中的偶数,并使用 max() 方法获取偶数中的最大值,代码如下:
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
OptionalInt maxEven = Arrays.stream(nums).filter(num -> num % 2 == 0).max();
if (maxEven.isPresent()) {
System.out.println("Max even value is " + maxEven.getAsInt());
} else {
System.out.println("Stream is empty!");
}
输出结果如下:
Max even value is 10
以上就是 Java 中 IntStream max() 方法的简单示例。通过这个方法,我们可以方便地获取 IntStream 流中的最大值,并进行一些复杂的操作。