Java数组Arrays类中有一个方法--binarySearch(). 称之为"二分查找", 其效率远远要高于线性查找, 但是其也一样存在着缺点, 比如查询对象必须要经过排序, 当查询对象中有多个元素相同时, 二分查找只能找到其中一个, 并且找到的这个元素不一定位于最前面或者最后面. 下面对二分查找的原理作一总结:
使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过sort(int[])
方法)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。
参数:
a
- 要搜索的数组
key
- 要搜索的值
返回: