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