Java程序通过使用二分搜索比较器从列表中搜索用户定义的对象

2023年 8月 29日 54.7k 0

Java程序通过使用二分搜索比较器从列表中搜索用户定义的对象

用于对 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

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论