关于Collections的binarySearch方法,正常查找值的位置,请问为什么是-4而不是0呢?
public class Demo1 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("zoo");
list.add("animals");
list.add("friends");
System.out.println(list);
System.out.println(Collections.binarySearch(list, "zoo"));
}
}
[zoo, animals, friends]
-4
使用binarySearch的前提是 集合本身是有序的。他使用的是二分查找。
将add的顺序调整成
list.add("animals");
list.add("friends");
list.add("zoo");
就可以了