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

Я написал этот код, но возвращаю ошибку, а не компиляцию! Любой совет?

Ответы

Ответ 1

Используйте это...

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

Ответ 2

Когда массив представляет собой массив объектов, тогда:

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

Другой альтернативой является org.apache.commons.lang.ArrayUtils.indexOf(...), который также имеет перегрузки для массивов примитивных типов, а также версию с тремя аргументами, которая принимает начальное смещение, (Версия Apache должна быть более эффективной, поскольку она не влечет за собой создание временного экземпляра List.)

Ответ 3

Массивы не имеют метода 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

Вы можете использовать java.util.Arrays.binarySearch(array, item); Это даст вам индекс элемента, если есть...

Обратите внимание, однако, что массив нужно сортировать перед поиском.

Привет

Ответ 5

В массивах Java нет прямого метода indexOf.

Ответ 6

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

вы пропустите " после 10.