Rol*_*all 7 java return binary-search
鉴于以下语句,取自此 Oracle Java教程,与类Collections的binarySearch()方法有关:
两个表单的返回值相同.如果List包含搜索键,则返回其索引.如果不是,则返回值为 ( - (插入点) - 1),其中插入点是将值插入List的点,或者第一个元素的索引大于值或list.size ()如果List中的所有元素都小于指定值.
为什么返回值binarySearch()
不仅仅返回负指数而不是负指数减1?(上面引用的粗体部分).
简而言之:为什么(-(insertion point) - 1)
而不仅仅是(-(insertion point))
?
提前致谢.
NPE*_*NPE 18
那是因为-(insertion point)
含糊不清.您将无法区分以下内容:
0
;0
.使用-(insertion point) - 1
,上述两种情况会导致不同的返回值(0
和-1
).