在Java中,Arrays.binarySearch始终搜索整个数组。有时阵列的一部分尚未填充。是否有任何函数可以搜索数组的一部分,例如
int binarySearch(int[] a, int end, int value)
是的,我可以使用TreeMap<Integer>
,但我有很多这些,TreeMap<Integer>
使用的内存比int []多几倍。
是的,我当然可以编写二进制搜索,但考虑到Arrays.binarySearch的存在,我似乎不应该自己编写。
答案 0 :(得分:10)
有一个超载Arrays.binarySearch()
正是这样做的:
public static int binarySearch(int[] a,
int fromIndex,
int toIndex,
int key)
它可以在Java 1.6 +中找到。