📅  最后修改于: 2023-12-03 15:16:20.247000             🧑  作者: Mango
在Java中,Arrays.binarySearch()
是一个用于在有序数组中执行二分查找的方法。它通过比较目标值与数组中的元素来确定目标值在数组中的位置。本文将为你提供有关如何使用Arrays.binarySearch()
方法的详细示例。
public static int binarySearch(Object[] a, Object key)
a
:要进行搜索的数组key
:要搜索的关键字import java.util.Arrays;
public class BinarySearchExample {
public static void main(String[] args) {
int[] numbers = {2, 4, 6, 8, 10};
int key = 6;
Arrays.sort(numbers); // 首先需要对数组进行排序
int index = Arrays.binarySearch(numbers, key);
if (index >= 0) {
System.out.println("找到关键字 " + key + ",位于索引 " + index);
} else {
System.out.println("未找到关键字 " + key + ",应插入到索引 " + (-index - 1) + " 位置");
}
}
}
以上示例中,我们定义了一个整型数组numbers
和一个关键字key
,并对数组进行排序。然后使用Arrays.binarySearch()
方法搜索key
在数组中的位置,并将结果存储在index
变量中。
如果找到了关键字,将输出"找到关键字 x,位于索引 y"(x和y分别代表关键字和索引)。如果未找到关键字,则输出"未找到关键字 x,应插入到索引 y 位置"。注意,在未找到关键字时,索引值的计算方式为 -(插入点)- 1。
在本示例中,关键字6位于索引2处,所以输出为"找到关键字 6,位于索引 2"。
Arrays.binarySearch()
方法之前,务必先对数组进行排序,否则结果将不可预知。Comparable
接口的对象数组的二分查找。以上就是关于Java中Arrays.binarySearch()
方法的介绍和示例。希望本文对你理解该方法的用法和特性有所帮助。