zoukankan      html  css  js  c++  java
  • Arrays类里的binarySearch方法的返回值总结

    Arrays类里的binarySearch方法的返回值总结

    • 举例原始数组 a 如下:
    [3, 5, 8, 17, 12, 2]
    
    • 第一步:必须先对数组进行排序 Arrays.sort(a) ;,排序后的数组如下:
    [2, 3, 5, 8, 12, 17]
    
    • 如果找到关键字,则返回值为关键字在排序后的数组中的位置索引,且索引从0开始。
    • 如果没有找到关键字,返回值为负的插入点值,所谓插入点值就是第一个比关键字大的元素在数组中的位置索引,而且这个位置索引从1开始。
    //结果显示 0
    System.out.println(Arrays.binarySearch(a,2)) ;
    //结果显示 -3
    //4在数据中没有,插入点即是3和5之间,位置索引从1开始数的话,这个位置就是3,取负即为-3
    System.out.println(Arrays.binarySearch(a,4)) ;
    

    重点说明:使用binarySearch查找时,务必先排序。

    • 排序后的返回结果是负数就一定说明没找到
    • 不排序的话,即使数组中能找到相关关键字,那也有可以返回负数。
  • 相关阅读:
    《Java技术》第四次作业
    Java第三次作业——面向对象基础(封装)
    《Java技术》第二次作业
    #《Java技术》第一次作业
    Java第十次作业
    Java第九次作业
    Java第八次作业
    Java第七次作业
    Java第6次作业
    Java第五次作业
  • 原文地址:https://www.cnblogs.com/haixianet/p/8621239.html
Copyright © 2011-2022 走看看