首先要import一下Arrays包:
import java.util.Arrays;
方法的写法:
int index = Arrays.binarySearch(Object[] a, Object key);
a[ ]: 要查询的数组
key: 要搜索的值
index根据以下规则返回值:
[1] key是数组a[ ]中的元素,从0开始计数,返回搜索值的索引值(index);
[2] key不是数组a[ ]中的元素,且在数组范围内,从1开始计数,得“ -index”;
[3] key不是数组a[ ]中的元素,且大于数组内元素,索引值(index)为 -(length + 1);
[4] key不是数组a[ ]中的元素,且小于数组内元素,索引值(index)为 -1;
举个例子:
public static void main(String[] args) {
int arr [] =new int[]{1,2,5,7,9,10};
Arrays.sort(arr);
int index1 = Arrays.binarySearch(arr,2);
int index2 = Arrays.binarySearch(arr,4);
int index3 = Arrays.binarySearch(arr,11);
int index4 = Arrays.binarySearch(arr,0);
System.out.println("index1 = "+ index1 +", index2 = " + index2 +", index3 = " + index3 +", index4 = "+ index4);
}
输出结果:
index1 = 1, index2 = -3, index3 = -7, index4 = -1
对应之前的四条规则,大家对这个二叉搜索树应该就有所了解了。