全屏
java.util.Arrays.binarySearch(long[] a, int fromIndex, int toIndex, long key)方法将搜索范围指定long数组,使用二进制搜索算法来指定值。该范围必须在进行此调用之前进行排序。如果不排序,则结果是不确定的。
声明
以下是java.util.Arrays.binarySearch(long,index)方法的声明public static int binarySearch(long[] a, int fromIndex, int toIndex, long key)
参数a -- 这是要搜索的数组。
fromIndex -- 这是第一个元素(含)要搜索的索引。
toIndex -- 这是最后一个元素(独占)要搜索的索引。
key -- 这是要搜索的值。
返回值
此方法返回搜索键的索引,如果它包含在数组中,否则它返回( - (插入点) - 1)。将插入点是将键插入数组的那一点;在大于该键,则为toIndex如果在该范围内的所有元素都小于指定的键范围中的第一个元素的索引。
异常IllegalArgumentException -- 如果 fromIndex > toIndex
ArrayIndexOutOfBoundsException -- 如果 fromIndex < 0 或 toIndex > a.length
例子
下面的示例演示java.util.Arrays.binarySearch()方法的用法。package cn.sxt;
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
分享到:
0评论