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查找時,務必先排序。

  • 排序后的返回結果是負數就一定說明沒找到
  • 不排序的話,即使數組中能找到相關關鍵字,那也有可以返回負數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM