У меня есть массив:положение элемента в массиве
char[] modifiers = {'A', 'M', 'D'};
и переменную:
char a = 'D'
Как получить позицию значения переменной в массиве?
Благодаря
У меня есть массив:положение элемента в массиве
char[] modifiers = {'A', 'M', 'D'};
и переменную:
char a = 'D'
Как получить позицию значения переменной в массиве?
Благодаря
Try:
int pos = -1;
for(int i = 0; i < modifiers.length; i++) {
if(modifiers[i] == a) {
pos = i;
break;
}
}
Это получит первого вхождения значения в переменной pos
, если есть несколько из них, или -1, если не найдено.
Итерации по массиву и сравнение его элементов с переменной возвращают индекс, если он равен. Возврат -1, если не найден. Возможно, вы захотите рассмотреть возможность использования любой версии java.util.List
.
Что-то вдоль линий может сделать трюк:
Collections.indexOfSubList(Arrays.asList(array), Arrays.asList('D'))
Пытаясь избежать ручного цикла: р
Вы можете сделать это самостоятельно достаточно легко, вы можете использовать вид() и BinarySearch () метода класса java.util.Arrays, или вы можете преобразовать char [] в String и использовать метод String.indexOf().
+1. 'new String (модификаторы) .indexOf ('D')' - довольно краткий способ сделать это. – Jonik
+1 Умный подход. – 2010-11-24 01:11:20
Это самый короткий путь, который я знаю. У меня было это как комментарий, но теперь я написал это как ответ. Ура!
Character [] array = {'A', 'B', 'D'};
Arrays.asList (массив) .indexOf ('D');
Ну, это не работает. Попробуйте его с помощью значений OP. Он возвращает -1. –
Отличный улов. исправлено. Инициализация должна быть с символом. – st0le
Это очень простой и проверенный код для справки
String[] arrayValue = {"test","test1","test2"};
int position = Arrays.asList(arrayValue).indexOf("test");
position: 0th Position
'ИНТ поз = -1;' выглядит лучше. – khachik
@khachik Ах! Спасибо за улов! –