今日は、明日の技術で「マスターへのエントリからJavaの、」本は、Javaを学ぶために、クエリの配列は、本の面で、ここでは機械や実験でなく、同じ気持ちを一つのことを理解することはできません参照して、その後、百度、気持ちは、聖書が言うことです間違っている、今何を記録しています。
java.util.Arraysをインポートするファーストクラスの配列のソートの必要性
2つのbinarysearchの使用、アレイ全体で検索、指定した範囲の探索は、実際には、前者は後者の特別な場合と考えることができ、類似しており、そこです。
使用法1
binarySearch(オブジェクト[]、オブジェクトキー)
オブジェクトは、ターゲット配列で、キー目標値、ターゲット配列をしなければならないことを要求並べ替え、それ以外の場合は、右の結果を見つけることができません
お問い合わせは、二つの結果以外の何ものでもありません、1はターゲット配列の目標値であり、他ではありません
したがって、戻り値も正と負の両方に分割され、標的配列と戻り指標目標値は(存在する場合、同じ複数、を決定するために見つけることができないことは、二分探索であるため)
アレイは、ターゲットリターン内にない - (インデックス+ 1要素の第一目標値よりも大きい)。同様に、目標値よりも配列の値が小さい場合、リターン - 。(配列の長さ+1)
例:
輸入java.util.Arrays。 パブリック クラス数{ 公共 静的 ボイドメイン(文字列[] argsが){ int型 [] = 新しい INT [] {1、3、4、6、8、9 }。 INT X1 = Arrays.binarySearch(5 )。 INT X2 = Arrays.binarySearch(4 )。 INT X3 = Arrays.binarySearch(A、0 ); INT X4 = Arrays.binarySearch(10 )。 System.out.println(X1 + " "+ X2 +" "+ X3 +"" + X4)。 } }
出力:
-4 2 -1 -7
また、理解することができます。
それぞれの位置出力に対応。
シンタックス2
binarySearch(オブジェクト[]、INTたfromIndex、INTたtoIndex、オブジェクトキー)
この範囲内で検索したfromIndex(付属)からtoIndexのに期間の開始と終了を表す2つのint型の変数、(含まれていない)を追加しました、戻り値は、前の使用法1に似ている、唯一異なるときの地区であればそれは、あります目標値よりも小さく、それが返されます - (toIndexの+ 1)、目標値よりも間隔の値が大きい場合、リターン - (fromIndexの+ 1)、理解しようとして難しいことではないと思いますが、1と同等たfromIndexの使用それが0とアレイtoIndexの用法2の長さです。