Arrays.binarySearch 面试的坑
5. |
分析下面的Java源程序,编译后的运行结果是( B )。(选择一项) |
|
|
import java.util.*; public class Test { public static void main(String[ ] args) { int [ ] numbers=new int[ ]{1,2,3}; System.out.println(Arrays.binarySearch(numbers, 2)); } } |
|
|
|
输出 |
|
A |
输出:0 |
|
B. |
输出:1 |
|
C. |
输出:2 |
|
D. |
输出:3 解析:此题考点-----Arrays工具类,以及二分搜索法的使用。 1.Arrays类,已经存在于JDK,和String Scanner一样,直接使用即可 2.此类存在一个binarySearch(int[] arr,int key)方法,此方法的含义如下: 使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。 也就是,在arr数组中查询key,如果存在返回在数组的下标值, 反之,返回-1,说明此key不再数组arr中。 特别说明:使用此方法之前,必须保证该数组是有序的数组。 3.从题中可知,numbers数组元素,是有序排列的。 使用二分搜索法,查找2在numbers数组当中的下标位置,直观来看 2在数组numbers中的下标位置是1
|