3

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

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

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

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

4

1 回答 1

10

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

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

它在 Java 1.6+ 中可用。

于 2012-06-13T19:35:39.150 回答