Java:想要数组子集的二进制搜索吗
在Java中,Arrays.binarySearch始终搜索整个数组。有时数组的一部分尚未填充。是否有任何函数可以搜索数组的一部分,例如Java:想要数组子集的二进制搜索吗,java,binary-search,Java,Binary Search,在Java中,Arrays.binarySearch始终搜索整个数组。有时数组的一部分尚未填充。是否有任何函数可以搜索数组的一部分,例如 int binarySearch(int[] a, int end, int value) 是的,我可以只使用TreeMap,但我有很多这样的工具,TreeMap使用的内存是int[]的几倍 是的,我当然可以写一个二进制搜索,但是考虑到数组的存在。binarySearch似乎我不应该写我自己的。有一个重载函数正是这样做的: public static int
int binarySearch(int[] a, int end, int value)
是的,我可以只使用TreeMap
,但我有很多这样的工具,TreeMap
使用的内存是int[]的几倍
是的,我当然可以写一个二进制搜索,但是考虑到数组的存在。binarySearch似乎我不应该写我自己的。有一个重载函数正是这样做的:
public static int binarySearch(int[] a,
int fromIndex,
int toIndex,
int key)
它在Java 1.6+中提供。Oh Duuuuuuuuuuuuuuuuuuh!出于某种原因,谷歌“javax”总是先显示旧文档。现在我觉得这样问很傻。如果我能否决我自己的问题,我会的。@kevincline:你对谷歌和旧Java文档的看法是对的。我通常搜索
java6
或java7
,例如数组java6
。