📌  相关文章
📜  使用Java在基元数组中查找最大值或最小值(1)

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

使用Java在基元数组中查找最大值或最小值

在Java中,可以通过以下方法来查找基元数组中的最大值和最小值。

查找最大值

可以使用 Arrays 类的 stream() 方法和 max() 方法来查找最大值。

int[] array = { 2, 4, 1, 6, 8, 3 };
int max = Arrays.stream(array).max().getAsInt();
System.out.println(max); // 8

上述代码中,Arrays.stream(array) 创建一个 IntStream 对象,然后使用 max() 方法得到最大值。如果数组是空的,那么 max() 方法将返回一个空的 OptionalInt 对象。因此需要使用 getAsInt() 方法来获取最大值。

查找最小值

可以使用 Arrays 类的 stream() 方法和 min() 方法来查找最小值。

int[] array = { 2, 4, 1, 6, 8, 3 };
int min = Arrays.stream(array).min().getAsInt();
System.out.println(min); // 1

上述代码中,Arrays.stream(array) 创建一个 IntStream 对象,然后使用 min() 方法得到最小值。如果数组是空的,那么 min() 方法将返回一个空的 OptionalInt 对象。因此需要使用 getAsInt() 方法来获取最小值。

使用循环查找最大值和最小值

除了使用 Java 8 的流式方法外,也可以使用循环来查找最大值和最小值。下面是一个查找最大值和最小值的例子:

int[] array = { 2, 4, 1, 6, 8, 3 };
int min = array[0];
int max = array[0];
for (int i = 1; i < array.length; i++) {
    if (array[i] < min) {
        min = array[i];
    }
    if (array[i] > max) {
        max = array[i];
    }
}
System.out.println(min); // 1
System.out.println(max); // 8

在上述代码中,我们从数组的第二个元素开始遍历,比较每个元素与 minmax 的大小关系,更新它们的值。最后输出 minmax 的值。

总的来说,使用 Java 在基元数组中查找最大值或最小值可以使用流式方法或循环来完成,具体使用哪种方法可以根据具体情况进行选择。