Trouver la plus grande valeur dans une ArrayList
J'ai deux fonctions différentes pour tenter de trouver la plus grande valeur dans une ArrayList.
J'ai deux depuis que j'ai été la première à voir s'ils renvoient la même valeur et puis, le temps de fonctionnement.
Cependant, ils sont reproduisant la même valeur, mais il semble être la dernière valeur de la liste de tableaux, peu importe si c'est la plus grande ou non. Je pense qu'il prend peut-être la clé de la place de la valeur.
Le code est ci-dessous, et je pense que c'est juste une simple erreur, mais quelqu'un peut me pointer dans la bonne direction?
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 );
L'appel à
votre code est semble bien, je l'ai essayé et il m'a donné de la valeur correcte. Ce qui est dans
Aussi votre pour la boucle devrait commencer à l'indice 1 puisque vous avez déjà vérifié l'index 0 avant la boucle for.
Double Possible de comment obtenir le maximum de valeur à partir de la Liste/liste de tableaux
indexOf()
est 100% redondant, ainsi que l'appel à la get()
deux fois.votre code est semble bien, je l'ai essayé et il m'a donné de la valeur correcte. Ce qui est dans
fitnessArray
?Aussi votre pour la boucle devrait commencer à l'indice 1 puisque vous avez déjà vérifié l'index 0 avant la boucle for.
Double Possible de comment obtenir le maximum de valeur à partir de la Liste/liste de tableaux
OriginalL'auteur James King | 2012-10-08
Vous devez vous connecter pour publier un commentaire.
Déjà existantes api
Exemple
La Documentation
Vous pouvez également envisager comme un peu pire solution
Deuxième approche peut être utile si vous aurez besoin de trier la liste plus tard.
OriginalL'auteur Marcin Szymczak
Vous pourriez avoir plus de chance si vous stockez l'indice que le plus grand nombre est:
Ah ouais, j'ai juste copié qu'à partir de l'exemple d'origine. J'ai supposé qu'ils étaient de vérifier à l'avance si le tableau est vide.
Vous devez stocker la taille et de ne pas toujours faire appel à la méthode. Un pour chacun d'eux est également préférable, quant à l'efficacité de java.
OriginalL'auteur Nathan Villaescusa