Поиск в несортированном массиве строк - PullRequest
1 голос
/ 03 августа 2010

У меня есть этот массив строк

private static String[] colorsArray = { "#bde876", "#ff8581", "#ffc472",
    "#faed75", "#a8c9e5", "#999999", "#e3a8e5", "#dddddd", "#fc603c",
    "#ffcc00", "#74e8d4", "#3cd6fc" };

Тогда у меня есть этот метод

public static int getColorByString(String color) {
    return Arrays.binarySearch(colorsArray, color);
}

Когда я вызываю getColorByString("#ff8581");, это дает мне -13 как результат.

Если я правильно понял, это означает, что элемент не содержится в моем массиве.

Что я делаю не так?Как я могу заставить это работать?

РЕДАКТИРОВАТЬ

Я только что понял, что массив должен быть отсортирован.Проблема в том, что я не могу это отсортировать, потому что мне нужно сопоставить строки с определенным индексом.

Итак, возникает вопрос, есть ли метод, который выполняет линейный поиск, или мне нужно написать его?

1 Ответ

4 голосов
/ 03 августа 2010

Как насчет

Arrays.<String>asList(colorArray).indexOf("#ff8581");
...