千家信息网

Javabinarysearch方法原理是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Javabinarysearch方法原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。这篇文章主要介绍了Java binary
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 河南云网互联网络科技有限公司 重生之互联网科技帝国 互联网巨头反垄断金融科技 互联网科技卖菜 喔噻互联网科技 互联网科技公司怎么样 贷财互联网科技 凡科互联网科技 奔汉互联网科技 互联网高科技企业 互联网科技公司名称 天扬科技互联网广告 工业互联网等科技实现智能化赋能 济南有互联网科技公司吗 国大互联网教育科技有限公司薪资 广州百诚互联网科技有限公司官网 四川互联网展示科技馆设计 北京军民互联网科技公司 黑龙江互联网科技公司 广州紫鲸互联网科技有限公司 盈实互联网科技 科技类互联网 须眉科技是互联网公司吗 阿里巴巴算科技企业还是互联网 佛山市拉法互联网科技有限公司 广东工业互联网大赛深圳学泰科技 上海创道互联网络科技有限公司 互联网安防科技感 湖北辰鑫科技互联网
0