Java:想要对数组的子集进行二进制搜索

时间:2012-06-13 19:33:40

标签: java binary-search

在Java中,Arrays.binarySearch始终搜索整个数组。有时阵列的一部分尚未填充。是否有任何函数可以搜索数组的一部分,例如

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

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

是的,我当然可以编写二进制搜索,但考虑到Arrays.binarySearch的存在,我似乎不应该自己编写。

1 个答案:

答案 0 :(得分:10)

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

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

它可以在Java 1.6 +中找到。