當找不到結果時,我得到一個奇怪的輸出。結果未找到時奇怪的輸出爲二進制搜索
import java.util.Arrays;
import java.util.Comparator;
public class BinarySearch {
public static void main(String args[]) {
String arr[] = { "c", "a", "e", "f", "z" };
MySort ms = new MySort();
Arrays.sort(arr, ms);
for (String c : arr) {
System.out.println(c);
}
System.out.println(Arrays.binarySearch(arr, "b", ms));
}
static class MySort implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
}
}
輸出: Z F權證一-6
爲什麼它打印-2
當我通過 「Y」 作爲我的查詢參數和-5
當我通過b
。 任何人都可以讓我知道發生了什麼,如果沒有找到結果。
您是否閱讀過binarySearch的Javadoc?它通常有幫助。 –