web-dev-qa-db-ja.com

文字列配列のindexOf

文字列で取得するように、とにかくindexOfを取得する方法はありますか?.

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

私はこのコードを書きましたが、エラーが返されてコンパイルされません!何かアドバイス ?

16
chuck finley

これを使って ...

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

配列がオブジェクトの配列の場合:

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

別の代替案は org.Apache.commons.lang.ArrayUtils.indexOf(...) で、プリミティブ型の配列のオーバーロードと、開始オフセットを取る3引数バージョンがあります。 (Apacheバージョンは、一時的なListインスタンスを作成する必要がないため、より効率的です。)

13
Stephen C

配列にはindexOf()メソッドがありません。ただし、_Java.util.List_はサポートします。したがって、配列をリストにラップし、Listメソッドを使用できます(add()などを除く)。

_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

Java.util.Arrays.binarySearch(array, item);を使用できます。これにより、アイテムのインデックスが提供されます(ある場合)。

ただし、配列は検索する前にソートする必要があることに注意してください。

よろしく

2
Andrew

Java配列には、直接のindexOfメソッドはありません。

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

あなたは" 10以降。

0
ChandlerSong