位置:首页 > Java技术 > Java.util包 > java.util.Collections.binarySearch(List<? extends T>, T, Comparator<? super T>)方法实例

java.util.Collections.binarySearch(List<? extends T>, T, Comparator<? super T>)方法实例

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--这是该列表进行排序的比较。 null值指示该元素的自然顺序会被使用。

返回值

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

异常

  • ClassCastException--这被抛出,如果列表中包含不可相互比较的元素使用指定的比较。

例子

下面的例子显示java.util.Collections.binarySearch()方法的使用

package com.yiibai;

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);
   }    
}

Let us compile and run the above program, this will produce the following result.

'TUTORIALS' is available at index: 3