千家信息网

Javabinarysearch方法原理是什么

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,Javabinarysearch方法原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。这篇文章主要介绍了Java binary
千家信息网最后更新 2025年01月16日Javabinarysearch方法原理是什么

Javabinarysearch方法原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

这篇文章主要介绍了Java binarysearch方法原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

首先 数组排序需要import java.util.Arrays类

binarysearch有两个用法,一个是在整个数组里搜索,一个是在指定范围搜索,其实都是差不多的,可以将前者视为后者的特殊情况。

用法1

binarySearch(Object[], Object key)

Object是目标数组,key是目标值,要求目标数组必须要经过排序的,否则无法找到正确的结果

查询无非就是两种结果,一种是目标值在目标数组里,另一种是不在

所以返回值也分为正负两种,目标值在目标数组内的,返回下标(如果有多个相同的,无法确定找到的是哪个,因为是二分搜索)

目标值不在数组内的,返回 -(第一个大于目标值的元素的下标+1),类似的,如果数组内的值都比目标值小,则是返回-(数组长度+1)

样例:

import java.util.Arrays;public class number { public static void main(String[] args) { int a[] = new int[] {1, 3, 4, 6, 8, 9}; int x1 = Arrays.binarySearch(a, 5); int x2 = Arrays.binarySearch(a, 4); int x3 = Arrays.binarySearch(a, 0); int x4 = Arrays.binarySearch(a, 10); System.out.println(x1+" "+x2+" "+x3+" "+x4); } }

输出:

-4 2 -1 -7

也可以这么理解:

对应相应的位置输出即可。

用法2

binarySearch(Object[], int fromIndex, int toIndex, Object key)

加了两个int变量,代表区间的开始和结束,从fromindex(包含)到toindex(不包含)这个区间里面搜索,返回值和前面用法1类似,唯一有所不同的是,当如果区内的值都比目标值小,则是返回-(toindex+1),如果区间内的值都比目标值大,则返回-(fromindex+1),仔细想想不难理解,用法1就相当于fromindex为0且toindex为数组长度的用法2。

关于Javabinarysearch方法原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

数组 目标 目标值 方法 搜索 原理 区间 标值 问题 下标 两个 是在 更多 篇文章 结果 长度 参考 学习 帮助 排序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库汉字查询 域控服务器和文件服务器搭建 少年网络安全教学 两分钟网络安全介绍 东信网络技术有限公司是外包吗 网络安全班会策划方案 山东国图网络安全技术有限公司 电脑网络连接服务器断开 关于网络安全教育手抄报内容 关系数据库的操作运算有哪几种 并不断完善网络安全战略 合肥风雪网络安全待遇怎么样 深圳软件开发公司排行中软国际 域控dns服务器的作用 电脑死机数据库不上了 网络安全的本质是什么( ) 网络安全不属于国家安全范畴 关系数据库有哪些缺点 网络安全及系统安全 美国机载软件开发 三点科创网络技术有限公司 公安部 网络安全 郭 镇江网站服务器哪个厂家质量好 工厂数据库应用 数据库技术类工作 乌班图服务器版软件包 山西服务器虚拟化系统 广州无源网络技术开发服务标准 软件开发顶岗周记800字 sql数据库版本转换
0