Java Collections BinarySearch()方法与示例
集合类binarySearch()
方法
语法:
public static int binarySearch(List l, Type key_ele);public static int binarySearch(List l, Type key_ele, Comparator com);
binarySearch()方法在java.util包中可用。
binarySearch(List l,Type key_ele)方法用于在二进制搜索的帮助下在给定列表(l)中找到给定对象(key_ele)。
binarySearch(List l,Type key_ele,Comparator com)方法用于在给定列表(l)中查找给定对象(key_ele),并且必须基于定义的Comparator对象对列表进行排序。
这些方法在查找给定元素时可能会引发异常。
ClassCastException:当给定的参数List元素彼此不可比较时,可能引发此异常。这些是静态方法,可以通过类名进行访问,如果尝试使用类对象访问这些方法,则也不会出现任何错误。
参数:
在第一种情况下,“ binarySearch(List l,Type key_ele)”
列表l –表示列表对象。
key_ele类型–表示要搜索的关键元素。
在第二种情况下,“ binarySearch(List l,Type key_ele,Comparator com)”
列表l –表示列表对象。
key_ele类型–表示要搜索的关键元素。
Comparator com –表示Comparator对象,我们将该值设置为null表示它是自然顺序或默认顺序。
返回值:
在这两种情况下,该方法的返回类型均为int,当它存在于给定列表中时,它将返回给定key_ele(key元素)的位置。
示例
//Java程序演示示例//的binarySearch()的类别方法
import java.util.*;
public class BinarySearchOfCollections {
public static void main(String args[]) {
//实例化数组列表对象
List < Integer > arr_l = new ArrayList < Integer > ();
//通过使用add()方法是添加
//数组列表中的对象
arr_l.add(20);
arr_l.add(10);
arr_l.add(40);
arr_l.add(30);
arr_l.add(50);
//显示ArrayList-
System.out.println("ArrayList: " + arr_l);
//通过使用binarySearch(arr_l,30,null)方法是
//在arr_1中搜索给定对象30-
//基于定义的比较器对象(空)和
//这里我们使用null,所以列表必须排序
//升序
int indices = Collections.binarySearch(arr_l, 30, null);
//显示索引
System.out.println("Collections.binarySearch(arr_l,30,null): " + indices);
//通过使用binarySearch(arr_l,30)方法是
//在arr_1中搜索给定对象30-
//因此列表必须以自然或升序排序
indices = Collections.binarySearch(arr_l, 30);
//显示索引
System.out.println("Collections.binarySearch(arr_l,30): " + indices);
}
}
输出结果
ArrayList: [20, 10, 40, 30, 50]Collections.binarySearch(arr_l,30,null): -3
Collections.binarySearch(arr_l,30): -3
以上是 Java Collections BinarySearch()方法与示例 的全部内容, 来源链接: utcz.com/z/326423.html