binarySearch在java的查找使用

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

1.概念

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

2.使用注意

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

3.返回值

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

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

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

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

4.实例

publicstaticvoidmain(String[]args){
List<Integer>lists=newArrayList<Integer>();
lists.add(3);
lists.add(6);
lists.add(8);
lists.add(7);
lists.add(1);
//原来的集合
System.out.println("原来的集合:");
for(Integerstr:lists){
System.out.print(str+"");
}

//对集合进行排序
Collections.sort(lists);
System.out.println("\n排序后的集合:");
for(Integerstr:lists){
System.out.print(str+"");
}

//使用binarySearch方法查找集合中的元素
inti=Collections.binarySearch(lists,2);
System.out.println("\n2所在的位置:"+i);

}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容