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

标签 java binary-search

我有这个字符串数组

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/

相关文章:

java - logback 在运行时更改配置和日志文件创建问题

java - Google Drive API 401 未经授权错误

java - 在世界风显示中获取 JPopupMenu

c - 二分查找的两个先决条件是什么?

java - 查找ArrayList中最接近的元素

java - Jetty 中不同端口上的独立 Web 应用程序

c - 如果指定数字位于排序数组的末尾或开头,则二进制搜索函数无法找到它们

r - 在 R 中创建子集数据的二分搜索类似概念

c - 二进制搜索递归无法正常运行

Java Play akka 模块创建