我有兩個不同的函數來嘗試查找ArrayList中的最大值。 我有兩個,因爲我第一次看到他們是否會返回相同的價值,然後表現時間。查找ArrayList中的最大值
但是它們正在重現相同的值,但它似乎是ArrayList的最後一個值,無論它是否最大。我認爲這可能是取代價值的關鍵。
代碼如下,我認爲它只是一個簡單的錯誤,但任何人都可以指出我正確的方向嗎?
double highest = fitnessArray.get(0);
for (int s = 0; s <fitnessArray.size(); s++){
if (fitnessArray.get(s)>highest)
highest=fitnessArray.get(s);
}
System.out.println("highest fitness = " + highest
+ " indoexOf = " + fitnessArray.indexOf(highest));
double highestFitness;
highestFitness = Collections.max(fitnessArray);
System.out.println("lowest fitness 2 = " + highestFitness);
對'indexOf()'的調用是100%冗餘的,並且調用'get()'兩次。 –
你的代碼看起來很好,我試過了,它給了我正確的價值。健身陣容中有什麼? –
您的for循環也應該從索引1開始,因爲您已經在for循環之前檢查了索引0。 –