JAVA自带的binarySearch方法详解

总结:
1.如果目标在数组中存在,则返回一个下标(如果是多个,则我们不知返回哪个下标,但是一定是其中一个)。
2.如果目标在数组中不存在,假设应该插入的位置为x,则返回-(x+1);也就是如果返回的值是y,y是负值,则正确的插入位置为-y-1;
JAVA自带的binarySearch方法详解
在上图中,数值0的搜索值为0下标,数值1的搜索值为1下标,都正确指向了相应的下标。但是其中数值2的搜索值为-3,如果要插入的话,也就是插入到-(-3)-1=2
JAVA自带的binarySearch方法详解
JAVA自带的binarySearch方法详解
上面两个图的数值1的下标搜索就不一致,因为他是二分查找,所以我们并不能保证具体查找到的是哪一个。