Arrays类的binarySearch()方法,可使用二分搜索法来搜索指定数组,以获得指定对象。binarySearch()有两种参数类型.
(1)binarySearch(Objhect[].a ,Object key)
a:要搜索的数组
key:要搜索的值
(2)binarySearch(Objhect[].a ,int fromIndex,int toIndex,Object key)
a:要搜索的数组
fromIndex:指定范围的开始处索引(包含)
fromIndex:指定范围的结束处索引(不包含)
key:要搜索的元素
对于该方法,若找到关键字,则返回值为关键字在数组中的索引位置。若在数组中没有找到关键字,返回值为-(第一个大于关键值的索引位置+1),若数组内的值都比关键字的值小,返回值为-(数组长度+1)。
package xun;
import java.util.Arrays;
public class wei {
public static void main(String[] args) {
int arr[]=new int[]{4,25,10,6,9,15};
Arrays.sort(arr);
System.out.println("排序后的数组:");
for(int x:arr)
System.out.print(x+" ");
System.out.println();
int index1=Arrays.binarySearch(arr,10);
int index2=Arrays.binarySearch(arr,25);
int index3=Arrays.binarySearch(arr,99);
int index4=Arrays.binarySearch(arr,0,2,6);
int index5=Arrays.binarySearch(arr,0,2,2);
int index6=Arrays.binarySearch(arr,0,2,16);
int index7=Arrays.binarySearch(arr,0,2,99);
System.out.println(index1);
System.out.println(index2);
System.out.println(index3);
System.out.println(index4);
System.out.println(index5);
System.out.println(index6);
System.out.println(index7);
}
}