Java-util-arrays-binarysearch-object-index
提供:Dev Guides
Java.util.Arrays.binarySearch()メソッド
説明
- java.util.Arrays.binarySearch(Object [] a、int fromIndex、int toIndex、Object key)*メソッドは、バイナリ検索アルゴリズムを使用して、指定されたオブジェクトの指定された配列の範囲を検索します。範囲は昇順にソートする必要がありますこの呼び出しを行う前に、要素の自然な順序に従って順序付けします。ソートされていない場合、結果は未定義です。
宣言
以下は* java.util.Arrays.binarySearch()*メソッドの宣言です
public static int binarySearch(Object[] a, int fromIndex, int toIndex, Object key)
パラメーター
- a -これは検索される配列です。
- fromIndex -これは、検索される最初の要素(包括的)のインデックスです。
- toIndex -これは、検索される最後の要素(排他的)のインデックスです。
- キー-これは検索する値です。
戻り値
このメソッドは、配列に含まれている場合は検索キーのインデックスを返し、そうでない場合は(-(挿入ポイント)-1)を返します。 挿入ポイントは、キーが配列に挿入されるポイントです。キーより大きい範囲の最初の要素のインデックス、または範囲内のすべての要素が指定されたキーより小さい場合はtoIndex。
例外
- ClassCastException -検索キーが指定された範囲内の配列の要素と比較できない場合。
- IllegalArgumentException -fromIndex> toIndexの場合
- ArrayIndexOutOfBoundsException -fromIndex <0またはtoIndex> a.lengthの場合
例
次の例は、java.util.Arrays.binarySearch()メソッドの使用方法を示しています。
package com.finddevguides;
import java.util.Arrays;
public class ArrayDemo {
public static void main(String[] args) {
//initializing unsorted array
Object arr[] = {10,2,22,69};
//sorting array
Arrays.sort(arr);
//let us print all the elements available
System.out.println("The sorted array is:");
for (Object number : arr) {
System.out.println("Number = " + number);
}
//entering the value to be searched
int searchVal = 22;
//entering range of index
int retVal = Arrays.binarySearch(arr,2,4,searchVal);
System.out.println("The index of element 22 is : " + retVal);
}
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
The sorted array is:
Number = 2
Number = 10
Number = 22
Number = 69
The index of element 22 is : 2