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数组元素,是有序排列的。

        使用二分搜索法,查找2numbers数组当中的下标位置,直观来看

        2在数组numbers中的下标位置是1

 

 

posted on 2018-04-10 20:34  FuckJava  阅读(236)  评论(0编辑  收藏  举报

导航