代码之家  ›  专栏  ›  技术社区  ›  Federico klez Culloca

在未排序的字符串数组中搜索

  •  1
  • Federico klez Culloca  · 技术社区  · 14 年前

    我有这个字符串数组

    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 回复  |  直到 14 年前
        1
  •  4
  •   tim_wonil    14 年前

    怎么样

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