1

私はこの文字列の配列を持っています

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

私がよく理解していれば、それは要素が私の配列に含まれていないことを意味します。

私は何を間違っていますか?どうすればそれを機能させることができますか?

編集

配列をソートする必要があることに気付きました。問題は、文字列を特定のインデックスにマップする必要があるため、並べ替えできないことです。

質問は、線形検索を実行する方法はありますか、それとも書く必要がありますか?

4

1 に答える 1

4

どうですか

Arrays.<String>asList(colorArray).indexOf("#ff8581");
于 2010-08-03T00:00:27.917 に答える