java 二分查找API
时间: 2023-10-15 08:29:15 浏览: 43
Java提供了一种二分查找的API,可以在数组或列表中使用。你可以使用Java的Arrays类或Collections类来执行二分查找。以下是使用这些类进行二分查找的方法示例:
1. 在数组中使用Arrays类的binarySearch方法:
```java
import java.util.Arrays;
int[] arr = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};
int key = 23;
int index = Arrays.binarySearch(arr, key);
if (index >= 0) {
System.out.println("元素 " + key + " 在数组中的索引位置为 " + index);
} else {
System.out.println("元素 " + key + " 不在数组中");
}
```
2. 在列表中使用Collections类的binarySearch方法:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
List<Integer> list = new ArrayList<>(Arrays.asList(2,5, 8, 12, 16, 23, 38, 56, 72, 91));
int key = 23;
int index = Collections.binarySearch(list, key);
if (index >= 0) {
System.out.println("元素 " + key + " 在列表中的索引位置为 " + index);
} else {
System.out.println("元素 " + key + " 不在列表中");}
```
这些方法在使用之前要求数组或列表已经按升序排序,否则结果可能不准确。如果找到了指定的元素,这些方法将返回其在数组或列表中的索引;如果没有找到,则返回一个负数。