使用 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

更新于: 2020 年 6 月 25 日

1K+ 次浏览

开启你的职业生涯

完成课程并获得认证

开始
广告