我有这个字符串数组
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
。
如果我理解的很好,这意味着该元素不包含在我的数组中。
我做错了什么?我怎样才能让它发挥作用?
编辑
我刚刚意识到数组必须排序。问题是我无法对其进行排序,因为我需要将字符串映射到特定索引。
那么现在的问题是,是否有任何方法可以执行线性搜索,或者我是否必须编写它?
最佳答案
怎么样
Arrays.<String>asList(colorArray).indexOf("#ff8581");
关于java - 在未排序的字符串数组中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3392623/