Получение индекса char из массива char - PullRequest
0 голосов
/ 05 июня 2018

Здравствуйте, мне нужно получить индекс char из массива char (не используя String).Да, я знаю, что это неразумно, пока есть String, но мне нужно знать, как это сделать.Итак, я был бы признателен, если бы вы проявили понимание.

Мой массив символов содержит:

" ABCDEF"

(в начале есть пробел).

Когда япопробуйте это: (Я уже импортировал java.util.Arrays;)

Arrays.toString(charArr).indexOf(charNeeded);

Возвращает 16, потому что:

System.out.println(Arrays.toString(charArr));

Печать [, A, B, C, D, E, F], это означает, что возвращаемая строка (в которой ищется индекс).Мне нужен поиск по индексу "ABCDEF", может кто-нибудь помочь?

Заранее спасибо.

1 Ответ

0 голосов
/ 05 июня 2018

Если вы не можете преобразовать его в строку и использовать indexOf:

int found = new String(charArr).indexOf(charNeeded)

, тогда вам нужно будет использовать цикл:

int found = -1;
for (int i = 0; i < charArr.length; ++i) {
  if (charArr[i] == charNeeded) {
    found = i;
    break;
  }
}

Или, если выЯ хочу использовать очень сложное решение с использованием потоков:

int found =
    IntStream.range(0, charArr.length)
        .filter(i -> charArr[i] == charNeeded)
        .findFirst()
        .orElse(-1);
...