it-swarm.com.de

indexOf in einem String-Array

Gibt es sowieso, um indexOf zu bekommen, als würden Sie einen String bekommen 

output.add("1 2 3 4 5 6 7 8 9 10);  
String bigger[] = output.get(i).split(" ");
int biggerWher = bigger.indexOf("10");

Ich habe diesen Code geschrieben, aber es wird ein Fehler zurückgegeben und nicht kompiliert! Irgendein Rat ? 

14
chuck finley

Benutze das ...

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");
59
sgokhales

Wenn das Array ein Array von Objekten ist, gilt Folgendes:

Object[] array = ..
Arrays.asList(array).indexOf(someObj);

Eine andere Alternative ist org.Apache.commons.lang.ArrayUtils.indexOf(...) , die ebenfalls Überladungen für Arrays von primitiven Typen sowie eine 3-Argument-Version mit Startversatz aufweist. (Die Apache-Version sollte effizienter sein, da sie nicht die Erstellung einer temporären List-Instanz erfordert.)

13
Stephen C

Arrays haben keine indexOf()-Methode; Java.util.List tut dies jedoch. Sie können also Ihr Array in eine Liste einschließen und die List-Methoden verwenden (außer add() und dergleichen):

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");
4
Costi Ciudatu

Sie können Java.util.Arrays.binarySearch(array, item); .__ verwenden. Dadurch erhalten Sie einen Index des Elements, falls vorhanden ...

Beachten Sie jedoch, dass das Array vor der Suche sortiert werden muss.

Grüße

2
Andrew

In Java-Arrays gibt es keine direkte Methode indexOf.

1
abhishek58g
output.add("1 2 3 4 5 6 7 8 9 10");

sie vermissen einen " nach 10. 

0
ChandlerSong