Collections的binarySearch的问题

问题遇到的现象和发生背景

关于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");
就可以了