java命名空间java.util类collections的类成员方法:
binarysearch定义及介绍
本文导语:
binarysearch
public static int binarysearch(list
binarysearch
public static int binarysearch(list extends t> list,
t key,
comparator super t> c)
- 使用二分搜索法搜索指定列表,以获得指定对象。在进行此调用之前,必须根据指定的比较器对列表进行升序排序(通过
sort(list, comparator)
方法)。如果没有对列表进行排序,则结果是不确定的。如果列表包含多个等于指定对象的元素,则无法保证找到的是哪一个。
此方法对“随机访问”的列表运行 log(n) 次(它提供接近固定时间的位置访问)。如果指定列表没有实现 randomaccess
接口并且是一个大型列表,则此方法将执行基于迭代器的二分搜索,执行 o(n) 次链接遍历和 o(log n) 次元素比较。
- 参数:
list
- 要搜索的列表。key
- 要搜索的键。c
- 排序列表的比较器。null 值指示应该使用元素的自然顺序。
- 返回:
- 如果搜索键包含在列表中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。插入点 被定义为将键插入列表的那一点:即第一个大于此键的元素索引;如果列表中的所有元素都小于指定的键,则为 list.size()。注意,这保证了当且仅当此键被找到时,返回的值将 >= 0。
- 抛出:
classcastexception
- 如果列表中包含使用指定的比较器不可相互比较 的元素,或者使用此比较器无法相互比较搜索键与列表元素。