关于Collections.binarySearch的问题

关于Collections.binarySearch的问题

问题描述:

我在测试写Collections.binarySearch发现以下的问题,大哥们能不能帮我解惑下:
public static void main(String[] args) {
List all = new ArrayList();
Collections.addAll(all, "ww","wh","gh","dr");
System.out.println(all);
int point = Collections.binarySearch(all,"ww");
System.out.println(pu);
}
这是我测试的代码,发现一个问题,这样是其中有两个内容出现重复现象,那么查询到的point就是负数,比如我添加的元素有hh,hw.那么查询hh的话,会是负数,查询hw就不会.疑惑中。

调用binarySearch之前, 需对列表进行升序排序sort(all)。如果没有对列表进行排序,则结果是不明确的。

楼上正解,binarysearch是针对有序表。

哥们 你的hh 和hw 在集合中可都没有重复啊,你打比方没有这么打的吧?这不是玩人呢吗??素质