赞
踩
Arrays.binarySearch(array, key) 作用:查询元素值key在数组array中的下标 (要求数组中元素已经按升序排列)
- int[] arr11 = { 10, 50, 40, 30 };
- Arrays.sort(arr11);
- // int aa = Arrays.binarySearch(arr11, 30); //1
- int aa = Arrays.binarySearch(arr11, 20); //-2
- System.out.println(aa);
查看JDK API 才知道:
public static int binarySearch(byte[] a, byte key)
sort(byte[])
方法)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。
a
- 要搜索的数组
key
- 要搜索的值
如果数组a中如果没有key,则返回值为某个负值,表示为了保持排序状态,此目标元素应该插入的位置“-(插入点)-1”;
如果找到了key,则返回key所在元素下标。
插入点是指,第一个大于查找对象的元素在数组中的位置,如果数组所有元素都小于要查找的对象,插入点就等于a.size().
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。