binarySearch在java的查找实例用法

作者:小妮浅浅 时间:2023-01-05 09:09:22 

在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);
}

来源:https://www.py.cn/java/shuzu/23488.html

标签:binarySearch,java
0
投稿

猜你喜欢

  • Android自定义View实现分段选择按钮的实现代码

    2022-09-06 07:46:21
  • Android IPC机制利用Messenger实现跨进程通信

    2023-01-02 10:57:49
  • C#11新特性使用案例详解

    2023-11-26 03:19:15
  • 一篇文章带你入门Java之编程规范

    2022-02-25 16:18:40
  • C++ Cmake的构建静态库和动态库详解

    2023-06-28 08:28:15
  • java实现幸运抽奖功能

    2023-11-27 07:24:16
  • SpringBoot中发送QQ邮件功能的实现代码

    2022-09-25 10:19:59
  • C#实现自定义定时组件的方法

    2023-06-04 12:36:26
  • 详解Java ScheduledThreadPoolExecutor的踩坑与解决方法

    2022-11-25 17:34:17
  • 使用eclipse创建java项目的方法

    2022-10-15 04:41:00
  • 实现activity管理器一次退出所有activity

    2022-11-20 10:15:23
  • C语言字符串另类用法的实现

    2023-06-19 02:05:25
  • C#去除字符串中的反斜杠实例(推荐)

    2022-02-02 20:27:14
  • 最好的8个Java RESTful框架

    2023-02-07 07:49:44
  • SpringBoot拦截 器如何获取http请求参数

    2023-11-28 19:40:48
  • SpringMVC+Shiro的基本使用及功能介绍

    2021-11-26 13:12:40
  • Java实现发送手机短信语音验证功能代码实例

    2023-04-04 19:03:31
  • Android实现ListView分页加载数据

    2023-11-09 10:05:45
  • Android判断和监听底座状态和类型的方法介绍

    2022-03-27 09:33:30
  • C#实现自定义Dictionary类实例

    2022-12-19 09:23:47
  • asp之家 软件编程 m.aspxhome.com