Arrays.binarySearch(int[] a, int key)
public static int binarySearch(int[] a,int key)使用二进制搜索算法来搜索指定的 int 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过上面的 sort 方法)。如果没有对数组进行排序,则结果是不明确的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。
import java.util.Arrays;
public class Search {
public static void main(String args[]){
int[] array1 = new int[]{1,10};
int pos = Arrays.binarySearch(array1,1);
System.out.println("Pos="+pos);
pos = Arrays.binarySearch(array1,10);
System.out.println("Pos="+pos);
int[] array2 = new int[]{10,1};
pos = Arrays.binarySearch(array2,10);
System.out.println("Pos="+pos);
pos = Arrays.binarySearch(array2,1);
System.out.println("Pos="+pos);
}
}
运行的结果是
Pos=0
Pos=1
Pos=0
Pos=-1
在调用Arrays.binarySearch(int[] a, int key)这个方法时,必须保证数组a内的元素是排序的