binarySearch在java的查找实例用法

 更新时间:2021年02月01日 14:57:45   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于binarySearch在java的查找实例用法,对此有兴趣的朋友们可以学习参考下。

在java数组中,查找数组元素是比较基础的操作了,arrays类的binarySearch就是专门实现指定元素的。同时它也属于我们常说的二分法。所以作用的范围是排序过的数组。下面我们就binarySearch的概念、使用注意进行说明,同时分出它的两种返回值情况,最后进行查找的实例分享。

1.概念

通过二分法在已经排好序的数组中查找指定的元素,并返回该元素的下标。

2.使用注意

此法为二分搜索法,故查询前需要用sort()方法将数组排序,如果数组没有排序,则结果是不确定的。如果数组中含有多个指定值的元素,则无法保证找到的是哪一个。

3.返回值

该方法的返回值类型为整型,具体返回值具体分为以下两种情况:

(1)如果数组中存在该元素,则会返回该元素在数组中的下标

(2)如果数组中不存在该元素,则会返回-(插入点 + 1)

这里的插入点具体指的是:如果该数组中存在该元素,那个元素在该数组中的下标

4.实例

public static void main(String[] args) {
List<Integer> lists = new ArrayList<Integer>();
lists.add(3);
lists.add(6);
lists.add(8);
lists.add(7);
lists.add(1);
// 原来的集合
System.out.println("原来的集合:");
for (Integer str : lists) {
System.out.print(str + " ");
}
// 对集合进行排序
Collections.sort(lists);
System.out.println("\n排序后的集合:");
for (Integer str : lists) {
System.out.print(str + " ");
}
// 使用binarySearch方法查找集合中的元素
int i = Collections.binarySearch(lists, 2);
System.out.println("\n2所在的位置:" + i);
}

到此这篇关于binarySearch在java的查找实例用法的文章就介绍到这了,更多相关binarySearch在java的查找使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring中IOC和AOP的核心组成架构详解

    Spring中IOC和AOP的核心组成架构详解

    这篇文章主要介绍了Spring中IOC和AOP的核心组成架构详解,本文是对Spring的2大核心功能——IoC和AOP 的总结提炼,并增加了环境profile和条件化bean的内容,篇幅较短,更像是一个大纲,或者思维导图,需要的朋友可以参考下
    2023-08-08
  • springboot中使用redis的方法代码详解

    springboot中使用redis的方法代码详解

    &#8203;redis 作为一个高性能的内存数据库,如果不会用就太落伍了,之前在 node.js 中用过 redis,本篇记录如何将 redis 集成到 spring boot 中。感兴趣的朋友跟随小编一起看看吧
    2019-05-05
  • Java 使用getClass().getResourceAsStream()方法获取资源

    Java 使用getClass().getResourceAsStream()方法获取资源

    这篇文章主要介绍了Java 使用getClass().getResourceAsStream()方法获取资源的相关资料,这里主要讲解哪种方式可以获取到文件资源,需要的朋友可以参考下
    2017-07-07
  • springboot优雅获取前端参数的方法详解

    springboot优雅获取前端参数的方法详解

    现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢,这篇文章小编就来和大家详细介绍一下springboot如何优雅的获取前端参数吧
    2024-03-03
  • 浅谈SpringMVC国际化支持

    浅谈SpringMVC国际化支持

    这篇文章主要介绍了浅谈SpringMVC国际化支持,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Spring AOP定义AfterReturning增加实例分析

    Spring AOP定义AfterReturning增加实例分析

    这篇文章主要介绍了Spring AOP定义AfterReturning增加,结合实例形式分析了Spring面相切面AOP定义AfterReturning增加相关操作技巧与使用注意事项,需要的朋友可以参考下
    2020-01-01
  • 使用Spring注入Hibernate验证框架

    使用Spring注入Hibernate验证框架

    这篇文章主要介绍了使用Spring注入Hibernate验证框架方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java深入分析动态代理

    Java深入分析动态代理

    动态代理指的是,代理类和目标类的关系在程序运行的时候确定的,客户通过代理类来调用目标对象的方法,是在程序运行时根据需要动态的创建目标类的代理对象。本文将通过案例详细讲解一下Java动态代理的原理及实现,需要的可以参考一下
    2022-07-07
  • Java实现获取指定个数的不同随机数

    Java实现获取指定个数的不同随机数

    今天小编就为大家分享一篇关于Java实现获取指定个数的不同随机数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java之String[] args含义及作用

    Java之String[] args含义及作用

    这篇文章主要介绍了Java之String[] args含义及作用,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论