欢迎访问宙启技术站
智能推送

如何使用Java中的函数来从一个数组中找到最大值和最小值

发布时间:2023-06-13 15:04:25

在Java中,要从数组中找到最大值和最小值可以使用以下两种常用的方法:

1. 循环遍历数组并记录最大值和最小值

该方法通过循环遍历数组来找到最大值和最小值,其中设定一个变量用于记录最大值和最小值,并在每次循环中将当前元素与已记录的最大值和最小值进行比较,并更新最大值和最小值。代码如下:

public static void findMaxAndMin(int[] arr) {
    int max = arr[0];
    int min = arr[0];
    for (int i = 1; i < arr.length; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
        if (arr[i] < min) {
            min = arr[i];
        }
    }
    System.out.println("Max value is: " + max);
    System.out.println("Min value is: " + min);
}

在这段代码中,我们首先初始化了max和min变量为数组的 个元素,然后通过循环遍历数组arr从第二个元素开始,如果当前元素比记录的最大值大,我们就将max更新为当前元素,如果当前元素比记录的最小值小,我们就将min更新为当前元素。最终我们输出max和min的值即可。

2. 使用Arrays工具类中的方法

Java中的Arrays工具类中提供了一个min()和max()方法,可以直接用于查找数组中的最小值和最大值。使用这个方法的代码如下:

import java.util.Arrays;

public static void findMaxAndMin(int[] arr) {
    int max = Arrays.stream(arr).max().getAsInt();
    int min = Arrays.stream(arr).min().getAsInt();
    System.out.println("Max value is: " + max);
    System.out.println("Min value is: " + min);
}

这段代码使用了Java8中的Stream流来获取数组中的最大值和最小值。我们首先使用Arrays.stream()方法将数组转化为一个IntStream流,然后使用max()和min()方法来获取数组中的最大值和最小值。最终我们输出max和min的值即可。

这两种方法在效率上没有明显差别,但是使用第二种方法更为简洁和易读。注意,在使用第二种方法时,需要确保数组arr不为null,否则会抛出NullPointerException异常。