在java数组中,查找数组元素是比较基础的操作了,arrays类的binarysearch就是专门实现指定元素的。同时它也属于我们常说的二分法。所以作用的范围是排序过的数组。下面我们就binarysearch的概念、使用注意进行说明,同时分出它的两种返回值情况,最后进行查找的实例分享。
1.概念
通过二分法在已经排好序的数组中查找指定的元素,并返回该元素的下标。
2.使用注意
此法为二分搜索法,故查询前需要用sort()方法将数组排序,如果数组没有排序,则结果是不确定的。如果数组中含有多个指定值的元素,则无法保证找到的是哪一个。
3.返回值
该方法的返回值类型为整型,具体返回值具体分为以下两种情况:
(1)如果数组中存在该元素,则会返回该元素在数组中的下标
(2)如果数组中不存在该元素,则会返回-(插入点 + 1)
这里的插入点具体指的是:如果该数组中存在该元素,那个元素在该数组中的下标
4.实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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的查找使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/java/shuzu/23488.html