Arrays类的binarySearch()方法,可使用二分搜索法来搜索指定的数组,以获得指定对象。该方法返回要搜索元素的索引值。binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查询需要。binarySearch()方法有两种参数类型。
(1)、binarySearch(Object[], Object key)
语法:binarySeach(Object[] a, Object key)
a:要搜索的数组。
key:要搜索的值。
如果key包含在数组中,则返回搜索的索引;否则返回“-1”或“-”(插入点)。插入点是搜索键将要插入数组的那一点,即第一个大于此键的元素索引。
import java.util.Arrays;//导入java.util.Arrays
public class Reference {
public static void main(String[] args){
int arr[] = new int[]{1, 8, 9, 4, 5};//定义int型数组
Arrays.sort(arr);//将数组进行排序
int index = Arrays.binarySearch(arr, 4);//查找元素4的索引位置
System.out.println("4的索引位置是:"+index);//输出索引
}
}
(2)、binarySearch(Object[]., int fromIndex, int toIndex, Object key)
语法:binarySearch(Object[]., int fromIdex, int toIndex, Object key)
a:要进行检索的数组。
fromIndex:指定范围的开始处索引(包含)。
toIndex:指定范围的结束处索引(不包含)。
key:要搜索的元素。
注意:如果指定的返回大于或等于数组的长度,则会报出ArrayIndexoutOfBoundsException异常
import java.util.Arrays;//导入java.util.Arrays
public class Rakel {
public static void main(String[] args){
String str[] = new String[]{"ab", "cd", "ef", "yz"};//定义String型数组str
Arrays.sort(str);//对数组进行排序
int index = Arrays.binarySearch(str, 0, 2, "cd");//在制定范围内搜索元素“cd”的索引位置
System.out.println("cd的索引位置是:"+index);//将索引输出
}
}
本文介绍了Java中Arrays类的binarySearch()方法,包括两种主要用法:一种是直接搜索整个数组;另一种是在指定范围内搜索。通过示例展示了如何使用这些方法来定位数组中的元素。

1万+

被折叠的 条评论
为什么被折叠?



