📜  Java中的 IntStream max() 示例(1)

📅  最后修改于: 2023-12-03 15:01:53.647000             🧑  作者: Mango

Java中的IntStream max() 示例

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 流中的最大值,并进行一些复杂的操作。