java最大值最小值代码

Java中获取数组最大值和最小值的代码如下:

public class MaxMin {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        int max = getMax(arr);
        int min = getMin(arr);
        System.out.println("最大值: " + max);
        System.out.println("最小值: " + min);
    }

    public static int getMax(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }

    public static int getMin(int[] arr) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        return min;
    }
}

这段代码定义了一个名为MaxMin的类,其中包含两个静态方法getMaxgetMin,分别用于获取整数数组的最大值和最小值。在main方法中,我们创建了一个整数数组arr,然后调用这两个方法来获取最大值和最小值,并将结果输出到控制台。

Java中,查找数组的最大值最小值有几种高效的方式。特别是对于大型数据集,你可以选择使用内置函数或线程并行计算来提升性能。以下是两种常见的方法: 1. **遍历数组**:这是最基础的做法,通过一个for循环迭代整个数组,并维护两个变量分别记录当前找到的最大值最小值。 ```java int[] arr = {1, 5, 3, 9, 2}; int max = arr[0], min = arr[0]; for (int i : arr) { if (i > max) { max = i; } else if (i < min) { min = i; } } System.out.println("Max value: " + max); System.out.println("Min value: " + min); ``` 2. **Java 8流API**:如果你的Java版本支持,可以利用Stream API的`max()`和`min()`函数简化操作: ```java import java.util.Arrays; int[] arr = {1, 5, 3, 9, 2}; OptionalInt max = Arrays.stream(arr).max(); OptionalInt min = Arrays.stream(arr).min(); if (max.isPresent()) { int maxVal = max.getAsInt(); System.out.println("Max value: " + maxVal); } if (min.isPresent()) { int minVal = min.getAsInt(); System.out.println("Min value: " + minVal); } ``` 3. **并行计算**(适用于大数组):如果系统有多核处理器,可以考虑使用`ParallelStream`的`max()`和`min()`方法,这会在多个CPU核心上并行寻找最大值最小值: ```java import java.util.Arrays; import java.util.concurrent.ForkJoinPool; ForkJoinPool pool = new ForkJoinPool(); OptionalInt parallelMax = pool.invoke(() -> Arrays.stream(arr).parallel().max()); OptionalInt parallelMin = pool.invoke(() -> Arrays.stream(arr).parallel().min()); // ...处理并打印结果 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【聚创网】源码分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值