Collections类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)”
List l
- 表示列表对象。Type key_ele
- 表示要搜索的关键元素。
- 在第二种情况下,“binarySearch(List l, Type key_ele, Comparator com)”
List l
- 表示列表对象。Type key_ele
- 表示要搜索的关键元素。Comparator com
- 表示 Comparator 对象,我们将该值设置为 null,这意味着它是自然顺序或默认顺序。
返回值:
在这两种情况下,方法的返回类型都是int
,它返回给定的位置key_ele(key element)
当它存在于给定列表中时。
例:
// Java program to demonstrate the example
// of binarySearch() method of Collections
import java.util.*;
public class BinarySearchOfCollections {
public static void main(String args[]) {
// Instantiates an array list object
List < Integer > arr_l = new ArrayList < Integer > ();
// By using add() method is to add
// objects in an array list
arr_l.add(20);
arr_l.add(10);
arr_l.add(40);
arr_l.add(30);
arr_l.add(50);
// Display ArrayList
System.out.println("ArrayList:" + arr_l);
// By using binarySearch(arr_l,30,null) method is
// to search the the given object 30 in an arr_l
// based on defined comparator object (null) and
// here we are using null so list must be sorted
// in an ascending order
int indices = Collections.binarySearch(arr_l, 30, null);
// Display indices
System.out.println("Collections.binarySearch(arr_l,30,null):" + indices);
// By using binarySearch(arr_l,30) method is
// to search the the given object 30 in an arr_l
// so list must be sorted in an natural or ascending order
indices = Collections.binarySearch(arr_l, 30);
// Display indices
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 synchronizedSortedSet()用法及代码示例
- Java Collections checkedQueue()用法及代码示例
- Java Collections unmodifiableNavigableSet()用法及代码示例
- Java Collections checkedSet()用法及代码示例
- Java Collections copy()用法及代码示例
- Java Collections checkedMap()用法及代码示例
- Java Collections synchronizedNavigableSet()用法及代码示例
- Java Collections singleton()用法及代码示例
- Java Collections fill()用法及代码示例
- Java Collections nCopies()用法及代码示例
- Java Collections emptySet()用法及代码示例
- Java Collections newSetFromMap()用法及代码示例
- Java Collections checkedSortedMap()用法及代码示例
- Java Collections addAll()用法及代码示例
- Java Collections sort()用法及代码示例
- Java Collections emptySortedSet()用法及代码示例
- Java Collections max()用法及代码示例
- Java Collections checkedSortedSet()用法及代码示例
- Java Collections checkedCollection()用法及代码示例
- Java Collections frequency()用法及代码示例
注:本文由纯净天空筛选整理自Preeti Jain大神的英文原创作品 Java Collections binarySearch() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。