java.util.Arrays.binarySearch(long[] a, int fromIndex, int toIndex, long key)%uA0方法将搜索范围指定long数组,使用二进制搜索算法来指定值。该范围必须在进行此调用之前进行排序。如果不排序,则结果是不确定的。
声明
以下是java.util.Arrays.binarySearch(long,index)方法的声明
public static int binarySearch(long[] a, int fromIndex, int toIndex, long key)
参数
-
a%uA0-- 这是要搜索的数组。
-
fromIndex%uA0-- 这是第一个元素(含)要搜索的索引。
-
toIndex%uA0-- 这是最后一个元素(独占)要搜索的索引。
-
key%uA0-- 这是要搜索的值。
返回值
此方法返回搜索键的索引,如果它包含在数组中,否则它返回( - (插入点) - 1)。将插入点是将键插入数组的那一点在大于该键,则为toIndex如果在该范围内的所有元素都小于指定的键范围中的第一个元素的索引。
异常
-
IllegalArgumentException%uA0-- 如果%uA0fromIndex > toIndex
-
ArrayIndexOutOfBoundsException%uA0-- 如果%uA0fromIndex < 0 或 toIndex > a.length
例子
下面的示例演示java.util.Arrays.binarySearch()方法的用法。
package com.yiibai import java.util.Arrays public class ArrayDemo { public static void main(String[] args) { // initializing unsorted long array long longArr[] = {56,46464,3342,232,3445} // sorting array Arrays.sort(longArr) // let us print all the elements available in list System.out.println("The sorted long array is:") for (long number : longArr) { System.out.println("Number = " + number) } // entering the value to be searched long searchVal = 232 // entering range of index int retVal = Arrays.binarySearch(longArr,1,2,searchVal) System.out.println("The index of element 232 is : " + retVal) } }
让我们来编译和运行上面的程序,这将产生以下结果:
The sorted long array is: Number = 56 Number = 232 Number = 3342 Number = 3445 Number = 46464 The index of element 232 is : 1