如何返回Java ArrayList中的第一个最大值

如何返回Java ArrayList中的第一个最大值,java,for-loop,arraylist,integer,max,Java,For Loop,Arraylist,Integer,Max,我试图返回ArrayList的最大值的第一个索引。下面的代码查找第二个最大值,而不是第一个最大值。如何返回循环遇到的第一个最大值 public int findIndexOfMax() { int maxIndex = 0; for (int k = 0; k < myFreqs.size(); k++) { if (myFreqs.get(k) > maxIndex) { maxIndex = myFreqs.get(k);

我试图返回
ArrayList
的最大值的第一个索引。下面的代码查找第二个最大值,而不是第一个最大值。如何返回循环遇到的第一个最大值

public int findIndexOfMax() {
    int maxIndex = 0;
    for (int k = 0; k < myFreqs.size(); k++) {
        if (myFreqs.get(k) > maxIndex) {
            maxIndex = myFreqs.get(k);
        }
    }
    return maxIndex;
}

您似乎忘记了在比较中访问
maxIndex
处的元素。然后将索引设置为
if
中元素的值(而不是
索引)。我想你想要

public int findIndexOfMax() {
    int maxIndex = 0;
    for (int k = 1; k < myFreqs.size(); k++) {
        if (myFreqs.get(k) > myFreqs.get(maxIndex)) {
            maxIndex = k;
        }
    }
    return maxIndex;
}
public int findIndexOfMax(){
int maxIndex=0;
对于(int k=1;kmyFreqs.get(maxIndex)){
maxIndex=k;
}
}
返回最大索引;
}

在比较中,您似乎忘记访问
最大索引处的元素。然后将索引设置为
if
中元素的值(而不是
索引)。我想你想要

public int findIndexOfMax() {
    int maxIndex = 0;
    for (int k = 1; k < myFreqs.size(); k++) {
        if (myFreqs.get(k) > myFreqs.get(maxIndex)) {
            maxIndex = k;
        }
    }
    return maxIndex;
}
public int findIndexOfMax(){
int maxIndex=0;
对于(int k=1;kmyFreqs.get(maxIndex)){
maxIndex=k;
}
}
返回最大索引;
}

我认为您正在使用左边的整数作为右边字符串的索引,当您第二次使用3作为索引时,它将值“a”与“test”重叠.

我认为您正在使用左边的整数作为右边字符串的索引,当您第二次使用3作为索引时,它将值“a”与“test”重叠。

您将什么定义为循环中的第一个最大值?您只需使用
HashMap
即可,如图所示。您将什么定义为循环中的第一个最大值?您只需使用
HashMap
,如图所示。