JAVA Arrays.binarySearch

来源:互联网 发布:网络安全员日常工作 编辑:程序博客网 时间:2024/05/20 18:17

Arrays.binarySearch(array, key)作用:查询元素值key在数组array中的下标 (要求数组中元素已经按升序排列)

int[] arr11 = { 10, 50, 40, 30 };Arrays.sort(arr11);//int aa = Arrays.binarySearch(arr11, 30);  //1int aa = Arrays.binarySearch(arr11, 20);  //-2System.out.println(aa);

查看JDK API 才知道:

binarySearch

public static int binarySearch(byte[] a,                               byte key)
使用二分搜索法来搜索指定的 byte 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过sort(byte[]) 方法)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。
参数:
a - 要搜索的数组
key - 要搜索的值

    如果数组a中如果没有key,则返回值为某个负值,表示为了保持排序状态,此目标元素应该插入的位置“-(插入点)-1”;


    如果找到了key,则返回key所在元素下标。


    插入点是指,第一个大于查找对象的元素在数组中的位置,如果数组所有元素都小于要查找的对象,插入点就等于a.size().

0 0
原创粉丝点击