【问题标题】:Java: want binary search of subset of an arrayJava:想要对数组的子集进行二进制搜索
【发布时间】:2012-06-14 03:36:32
【问题描述】:

在 Java 中,Arrays.binarySearch 总是搜索整个数组。有时数组的一部分还没有被填充。是否有任何功能可以搜索数组的一部分,例如

int binarySearch(int[] a, int end, int value)

是的,我可以只使用TreeMap<Integer>,但我有很多这些,TreeMap<Integer> 使用的内存是 int[] 的几倍。

是的,我当然可以编写二进制搜索,但鉴于 Arrays.binarySearch 的存在,我似乎不必自己编写。

【问题讨论】:

    标签: java binary-search


    【解决方案1】:

    有一个重载的Arrays.binarySearch() 正是这样做的:

    public static int binarySearch(int[] a,
                                   int fromIndex,
                                   int toIndex,
                                   int key)
    

    它在 Java 1.6+ 中可用。

    【讨论】:

    • 哦duuuuuh!出于某种原因,Google 'Java X' 总是首先显示旧文档。现在我觉得问起来很傻。如果我可以对自己的问题投反对票,我会的。
    • @kevincline:您对 Google 和旧 Java 文档的看法是正确的。我通常搜索java6java7,例如Arrays java6.
    猜你喜欢
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多