当找不到结果时,我得到一个奇怪的输出。结果未找到时奇怪的输出为二进制搜索
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?它通常有帮助。 –