Est-il possible d'obtenir indexOf comme vous le feriez dans une chaîne?
output.add("1 2 3 4 5 6 7 8 9 10);
String bigger[] = output.get(i).split(" ");
int biggerWher = bigger.indexOf("10");
J'ai écrit ce code mais il renvoie une erreur et ne compile pas! Aucun conseil ?
Utilisez ceci ...
output.add("1 2 3 4 5 6 7 8 9 10");
String bigger[] = output.get(i).split(" ");
int biggerWher = Arrays.asList(bigger).indexOf("3");
Lorsque le tableau est un tableau d'objets, alors:
Object[] array = ..
Arrays.asList(array).indexOf(someObj);
Une autre alternative est org.Apache.commons.lang.ArrayUtils.indexOf(...)
qui comporte également des surcharges pour les tableaux de types primitifs, ainsi qu'une version à 3 arguments prenant un offset de départ. (La version d'Apache devrait être plus efficace car elle ne nécessite pas de créer une instance temporaire List
.)
Les tableaux n'ont pas de méthode indexOf()
; Cependant, Java.util.List
le fait. Vous pouvez donc envelopper votre tableau dans une liste et utiliser les méthodes List
(sauf pour add()
et autres):
output.add("1 2 3 4 5 6 7 8 9 10");
String bigger[] = output.get(i).split(" ");
int biggerWhere = Arrays.asList(bigger).indexOf("10");
Vous pouvez utiliser Java.util.Arrays.binarySearch(array, item);
Cela vous donnera un index de l'élément, le cas échéant ...
Notez cependant que le tableau doit être trié avant la recherche.
Cordialement
Il n'y a pas de méthode indexOf directe dans les tableaux Java.
output.add("1 2 3 4 5 6 7 8 9 10");
vous manquez un "
après 10.