我有两个不同的函数来尝试查找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。 –