我不理解Collection
中的这一点
“不成功的搜索返回一个表示插入点的int索引。
插入点是元素集合/数组中的位置
将插入以保持集合/数组正确排序。因为正回报值和0表示成功搜索,binarySearch()
方法使用负数来表示插入点。由于 0是有效的
为了成功搜索,第一个可用的插入点是-1。因此,
实际插入点表示为( - (插入点)-1)。对于
例如,如果搜索的插入点位于元素2,则实际插入
返回的点数为-3。“
答案 0 :(得分:0)
api使用范围[0,intinity)来表示FOUND结果 - 所以返回0表示它实际上找到了你在索引0中寻找的内容(集合/数组的第一个索引)。
这意味着可用于返回NOT_FOUND结果的范围为负 - (-inf,-1)
那么在这种约束条件下,你如何沟通结果“找不到请求的元素,但是应该在索引0处插入”?
你不能返回-0,因为它与+0相同并且表示FOUND结果。所以你给负数加一个偏移量。这种方式“应该在索引0”变为-1,“应该在索引1”变为-2等。