Java中Arrays.binarySearch()方法中,查找数组中的元素0时,返回值却是负值

 

import java.util.Arrays;
public class ArrayUtilTest {
	public static void main(String[] args) {
		int[] arr = new int[] {1,2,5,6,7,9,4,0,8,3};
		int index = Arrays.binarySearch(arr, 0);
        if(index >= 0) {
			System.out.println("找到了,索引位置为:" + index);
		}else {
			System.out.println("未找到!");
		}
    }
}

打印结果是“未找到!”,求大神帮助

如有帮助,望采纳。点击我回答右上角【采纳】按钮。

二分查找法针对的是有序数组或者有序序列而言的折半查找法。你先给自己的数组排好序,再调用方法查询。

这是用二分法查找

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m