Arrays.binarySearch()返回值
主要有两个方法
1) binarySearch(Object[] a, Object key)
a: 要搜索的数组
key:要搜索的值
如果key在数组中,则返回搜索值的索引;
否则返回-1或“-”(插入点)。插入点是指索引键key将要插入数组的那一点,即第一个大于该键key的元素的索引。
网上很多的资料都是说,有时候从0开始计数,有时候从1开始计数,其实是他们都没发现其中共性的规律,然后令人迷乱。
在此总结的,都是下标从0开始计数的。
[1] 搜索值不是数组元素,且在数组大小范围内,从0开始计数,得“ - 插入点索引值 -1”;
[2] 搜索值是数组元素,从0开始计数,得搜索值的索引值;
[3] 搜索值不是数组元素,且大于数组内元素,索引值为 – (length + 1),其实也是 - 插入点索引值 -1,只不过在此插入点索引值为length;
[4] 搜索值不是数组元素,且小于数组内元素,索引值为 – 1( - 0 -1=-1)。