Java-util-arrays-binarysearch-double-index

提供:Dev Guides
移動先:案内検索

Java.util.Arrays.binarySearch()メソッド

説明

  • java.util.Arrays.binarySearch(double [] a、int fromIndex、int toIndex、double key)*メソッドは、バイナリ検索アルゴリズムを使用して、指定された値の指定されたdoubleの配列の範囲を検索します。 この呼び出しを行う前に、範囲をソートする必要があります。ソートされていない場合、結果は未定義です。

宣言

以下は* java.util.Arrays.binarySearch()*メソッドの宣言です

public static int binarySearch(double[] a, int fromIndex, int toIndex, double key)

パラメーター

  • a -これは検索される配列です。
  • fromIndex -これは、検索される最初の要素(包括的)のインデックスです。
  • toIndex -これは、検索される最後の要素(排他的)のインデックスです。
  • キー-これは検索する値です。

戻り値

このメソッドは、配列に含まれている場合は検索キーのインデックスを返し、そうでない場合は(-(挿入ポイント)-1)を返します。 挿入ポイントは、キーが配列に挿入されるポイントです。キーより大きい範囲の最初の要素のインデックス、または範囲内のすべての要素が指定されたキーより小さい場合はtoIndex。

例外

  • 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 double array
      double doubleArr[] = {5.4,4.6,49.2,9.2,35.4};

     //sorting array
      Arrays.sort(doubleArr);

     //let us print all the elements available in list
      System.out.println("The sorted double array is:");
      for (double number : doubleArr) {
         System.out.println("Number = " + number);
      }

     //entering the value to be searched
      double searchVal = 5.4;

     //entering the range of index
      int retVal = Arrays.binarySearch(doubleArr,1,3,searchVal);

      System.out.println("The index of element 5.4 is : " + retVal);
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

The sorted double array is:
Number = 4.6
Number = 5.4
Number = 9.2
Number = 35.4
Number = 49.2
The index of element 5.4 is : 1