2016-01-24 20 views
-1
import java.lang.*; 
import java.util.*; 
public class AnotherArrayPractice{ 
public static void main (String[] args){ 
    int [] arr={130,10}; 
    System.out.println(arr[1]); 
    System.out.println(Arrays.binarySearch(arr,10)); 
    System.out.println(Arrays.binarySearch(arr,130)); 

    } 
} 

打印結果如下:10,-1,0 我很困惑,爲什麼binarySearch(arr,10)給我-1而實際上10是數組的binarySearch功能錯誤

回答

4

裏面,你可以從文檔讀:

的java.util.Arrays.binarySearch(INT []一,INT key)方法搜索指定的整數,使用二進制搜索algorithm.The數組中指定的值的陣列之前,必須進行排序做這個電話。如果它不是特德,結果是不確定的。

所以你必須之前命令數組!

相反,如果您使用未分類,結果是undefined

1

「的陣列必須進行排序」

按照規範的binarySearch