用于对 Java 对象进行排序的 Java 比较器接口。 Java 中的比较器类通过调用“java.util.comparator”来比较不同的对象(Obj 01、Obj 02)。在此方法中,可以根据返回值对对象进行比较。比较可以是正数、相等或负数。
该过程为用户提供了多个排序序列。有很多方法可以对两种方法进行比较。
-
public int compare class (obj 1, obj 2) - 执行两个对象之间的比较。
-
public Boolean equals (obj) - 比较当前对象与指定对象。
Java 集合类 - 提供对数据集合中的元素进行排序的静态方法。这里集合元素用于 TreeMap。
让我们讨论如何使用比较器构建一个Java代码,通过二分查找从列表中搜索用户定义的对象。
二分搜索参数及其组成部分
-
参数
-
是一个特定的数组
-
fromindex - 要搜索的第一个元素
-
toindex - 最后一个要搜索的元素
key - 要搜索的值
需要搜索的键值对 -
比较器
-
返回
-
返回指定范围内存在的搜索键的索引。
-
例外
-
ClassCast
-
非法参数
-
ArrayIndexOutOfBounds
算法
-
第一步 - 开始。
-
第 2 步 - 中间元素集合计算。
-
第三步 - 将关键字与中间元素进行比较。
-
步骤 4 - 如果 key 和 mid 元素的值相同;然后返回结果。
-
步骤5 - 否则,键的值大于中间元素,则跟随右半部分集合
-
第 6 步 - 或者;如果 key 的值小于 mid 元素则遵循 upper
使用比较器的二分查找 - 语法
public static int binarySearch(primitive() p,Primitive key)
public static int binarySearch(Object() o,Object key)
public static int binarySearch(Object() o,Object key,Comparator c)
Java Collections binarySearch(List