在Java中的数组的最大元件

问题描述 投票:0回答:6

好了,所以我试图找到一个数组的最大元素,我意识到这是不是这样做的最佳方法,它只能在某些情况下。想知道关于如何改变我的代码,以便它适用于所有的情况下,一些指针。

public static int maxArray(int[] a) {
    int max = 0;
    for (int j = 0; j < a.length-1; j++) {
        if (a[j+1] > a[j]) {
            max = a[j+1];
        } else {
            max = a[j];
        }

    }
    return max;

}
java arrays max
6个回答
2
投票

我建议你做它像这样,

max = a[0];开始,然后从j 1a.length循环。比较a[j]max,即如果a[j] > max然后设置max = a[j];


2
投票

使用此方法。

public static int maxArray(int[] a) {

int max = a[0]; // saves a bit of time

for (int j = 1; j < a.length; j++) {
    if (a[j] > max) {
        max = a[j];
    }

}
return max;

}

这是非常快速和简洁。


1
投票

您需要将当前元素与最大元素进行比较,而不是与下一个。

if (a[j] > max) {
    max = a[j];
}

0
投票
public static <T extends Object & Comparable<? super T>> T maxArray(T[] array) {
    return Collections.max(Arrays.asList(array));
}

之后您对功能,如呼叫:

整数[] A = {1,5,-6,3,0,2};

整数maxArray最大=(a)的

的System.out.println(最大值);


0
投票
public static int getMaxElement(int[] elements) {
    int max = elements[0];
    for (int j = 0; j < elements.length-1; j++) {
        if (elements[j] > max) {
            max = elements[j];
        }
    }
    return max;
}

0
投票

在Java 8可以使用流:

public static int maxArray(int[] a) {
    return Arrays.stream(a).max().getAsInt();
}
© www.soinside.com 2019 - 2024. All rights reserved.