java.util.Collections.binarySearch() 方法

描述

binarySearch(List<? extends T>, T, Comparator<? super T>) 方法用于使用二进制搜索算法在指定列表中搜索指定对象。 列表必须根据指定的比较器按升序排序。


声明

以下是 java.util.Collections.binarySearch() 方法的声明。

public static <T> int binarySearch(List<? extends T> list,T key,Comparator<? super T> c)

参数

  • list − 这是要搜索的列表。

  • key − 这是要搜索的键。

  • c − 这是排序列表的比较器。 空值表示应使用元素的自然顺序。


返回值

该方法调用返回搜索键的索引(如果它包含在列表中)。


异常

ClassCastException − 如果列表包含使用指定比较器不能相互比较的元素,则会抛出此错误。


示例

下面的例子展示了 java.util.Collections.binarySearch() 的用法。

package com.tutorialspoint;

import java.util.*;

public class CollectionsDemo {
   public static void main(String args[]) {
   
      // create arraylist       
      ArrayList<String> arlst = new ArrayList<String>();

      // populate the list
      arlst.add("TP");
      arlst.add("PROVIDES");
      arlst.add("QUALITY");
      arlst.add("TUTORIALS");

      // search for key 'TUTORIALS' with natural ordering
      int index = Collections.binarySearch(arlst, "TUTORIALS", null);     

      System.out.println("'TUTORIALS' is available at index: "+index);
   }    
}

让我们编译并运行上面的程序,这将产生以下结果.

'TUTORIALS' is available at index: 3