поиск элементов в массиве

161
28 ноября 2018, 13:00

Не подскажете есть ли метод по поиску элементов в массиве? P.S поиск будет проводиться в массиве элементов с типом char

Answer 1

Преобразуйте массив к списку и вызовите indexOf() у списка

char[] data = {'a', 'c', 'b'};
int idx = Arrays.asList(data).indexOf('b');

А если массив отсортированный, то лучше вызвать Arrays.binarySearch()

char[] data = {'a', 'b', 'c'};
int idx = Arrays.binarySearch(data, 'b');
Answer 2

Увы ничего стандартного в java нет, приходится писать свои велосипеды:

 private static int find(char[] array, char element) {
    if (Objects.isNull(array))
        return -1;
    for (int i = 0; i < array.length; i++)
        if (array[i] == element)
            return i;
    return -1;
}

Как вариант, можно воспользоваться библиотекой Apache Commons Lang, там есть утилитный класс ArrayUtils с методом indexOf

Answer 3

Можно так попробовать:

private static int findChar(char[] array, char element) {
  return new String(array).indexOf(element);
}

Вернёт либо позицию символа в массиве, либо -1, в случае отсутствия.

READ ALSO
Применение константы

Применение константы

пытаюсь разобраться в кодеНо встретился метод к котором применяется константа EXTRA_ANSWER_IS_TRUE и я не могу понять для чего она здесь и как её изменение...

144
Перевод любого формата времени в минуты

Перевод любого формата времени в минуты

На вход подается дата, которая может принимать различные форматы (HH:mm / HH / mm / S / s / D) и выдаёт результат в минутахКак это реализовать? Желательно...

142
открытие окна по кнопке JavaFX

открытие окна по кнопке JavaFX

Я как бы новичок в программировании, и у меня возник такой вопросКак правильней открыть новое окно по кнопке используя javaFX? У меня есть первоначальное...

184
Как сделать &ldquo;жирными&rdquo; элементы с тегом H2 Jsoup?

Как сделать “жирными” элементы с тегом H2 Jsoup?

Есть код для парсинга страницы:

172