クラス Collections の binarySearch() メソッドに関連する、このOracle Java チュートリアルから取られた次のステートメントがあるとします。
戻り値は両方の形式で同じです。リストに検索キーが含まれている場合、そのインデックスが返されます。そうでない場合、戻り値は (-(挿入ポイント) - 1)です。挿入ポイントは、リストに値が挿入されるポイント、または値または list.size より大きい最初の要素のインデックスです。 () リスト内のすべての要素が指定された値より小さい場合。
binarySearch()
not の戻り値が負のインデックスから 1 を引いた値ではなく、負のインデックスのみを返すのはなぜですか? (上記の引用の太字の部分)。
簡単に言うと、なぜ(-(insertion point) - 1)
だけでなく(-(insertion point))
?
前もって感謝します。