使用 Java Collection 在 ArrayList 上执行二叉查找
为了使用 Java Collection 在 ArrayList 上执行二进制搜索,我们要使用 Collections.binarySearch() 方法。
声明 - java.util.Collections.binarySearch() 方法的声明如下 -
public static int binarySearch(List list, T key)
以上方法以升序排列的列表返回键的位置。如果我们使用比较器 c 对列表进行排序,则 binarySearch() 方法的声明如下 -
public static int binarySearch(List list, T key, Comparator c)
如果键不存在,则返回 ((插入点) + 1) *(-1)。
让我们看看一个在 ArrayList 上执行 binarySearch() 的程序 -
示例
import java.util.*; public class Example { public static void main (String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(7); int pos = Collections.binarySearch(list, 1); // 1 is present at 0th index System.out.println(pos); pos = Collections.binarySearch(list, 5); /* since 5 is not present and it would be inserted at index 2 the method returns (-1)*() */ System.out.println(pos); } }
输出
0 -3
广告