10.数组中的查找
调用方法Arrays.binarySearch方法,可以使用二分查找法在一个已经按照自然顺序从小到大排序的数组或者部分数组元素中查找某个元素。若是找到这个元素就返回这个元素在这个数组中的下标,否则就返回一个负值。该方法被重载,可以用于任何的数据类型,Boolean除外。例如:
import java.util.*;
class BinarySearch
{
public static void main(String[] args)
{
int sign=0,key=9;
int[] arr={2,9,5,6,3,1,8,7};
System.out.print("排序前:"+Arrays.toString(arr)+"\n排序后:");
Arrays.sort(arr,0,3);
System.out.println(Arrays.toString(arr));
sign=Arrays.binarySearch(arr,0,3,key);
if(sign>0)
System.out.println("arr["+sign+"]:"+arr[sign]);
else
System.out.println("在数组arr的前四个元素中找不到这个元素:"+key);
}
}
运行结果如下:
如果在一个没有排序的数组中调用Arrays.binarySearch查找,结果将无法预测。