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