Comment faire pour trouver la valeur minimale dans une ArrayList, avec le numéro d'index? (Java)
J'ai besoin d'obtenir la valeur de l'indice de la valeur minimale dans ma liste de tableaux en Java. MON arraylist est titulaire de plusieurs chars, et je suis en train de réfléchir à un moyen d'obtenir le numéro d'index de la plus petite à flotteur si je peux utiliser ce numéro d'index d'ailleurs dans mon code. Je suis un débutant, donc merci de ne pas me détester. Merci!
- Je pense que la choisi la solution est incomplète. il lui manque encore quelque chose! Que faire si le nombre minimum est présent plusieurs fois? Après tout, il est une liste. Je pense donc qu'il doit renvoyer une Liste si des indices de la valeur min
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser Les Collections.min et Liste.indexOf:
Si vous souhaitez parcourir la liste qu'une seule fois (le ci-dessus peut traverser deux fois):
Cela devrait le faire à l'aide des fonctions intégrées.
essayez ceci:
Float.compare(f.floatValue(), min) < 0
peut être modifié àf < min
. Etmin = f.floatValue()
àmin = f
. Classes Wrapper obtenir exprimés implicitement à leur primitive équivalents.f < min
(à partir de la documentation deFloat.compare
: "retourne la valeur 0 si la f1 est numériquement égale à f2; une valeur inférieure à 0 si la f1 est numériquement inférieure f2; et une valeur supérieure à 0 si la f1 est numériquement supérieure f2"). À moins que vous signifieFloat.compare(f.floatValue(), min) <= 0
(ce qui seraitf <= min
).Il y a un moyen plus facile de trouver un min entier dans la gamme de la liste:
Voici ce que je fais. J'ai trouver le minimum d'abord, puis après que le minimum est trouvé, il est supprimé de la liste de tableaux.
Vous avez à parcourir l'ensemble du tableau et de les garder deux auxiliaires de valeurs:
Supposons que votre tableau est appelé myArray. À la fin de ce code minIndex a l'indice de la valeur la plus petite.
C'est en supposant que le pire scénario: un totalement aléatoire tableau. C'est un algorithme O(n) ou l'ordonnance n algorithme, ce qui signifie que si vous avez n éléments de votre tableau, puis vous avez à regarder tous d'entre eux avant de connaître votre réponse. O(n) les algorithmes sont les pires, car ils prennent beaucoup de temps pour résoudre le problème.
Si votre tableau est trié ou a toute autre structure spécifique, alors l'algorithme peut être optimisé pour être plus rapide.
Après avoir dit que, bien que, à moins d'avoir un large éventail de milliers de valeurs, alors ne vous inquiétez pas au sujet de l'optimisation comme la différence entre un algorithme O(n) et une plus rapide, ne serait pas perceptible.