Java中的Arrays類提供了一個binarySearch()方法來在數(shù)組中執(zhí)行二分查找。該方法接受三個參數(shù):要搜索的數(shù)組、要搜索的元素和可選的Comparator對象。
該方法首先對數(shù)組進行排序(如果數(shù)組未排序),然后使用二分查找算法在已排序的數(shù)組中搜索元素。二分查找算法通過反復(fù)將要查找的元素與數(shù)組的中間元素進行比較,從而縮小搜索范圍,直到找到元素或確定元素不在數(shù)組中為止。
如果找到了元素,則返回元素在數(shù)組中的索引值;如果未找到元素,則返回一個負數(shù),表示元素應(yīng)該插入的位置以保持數(shù)組的排序順序。如果提供了Comparator對象,則使用該Comparator對象來比較元素,而不是使用元素的自然順序。
請注意,binarySearch()方法要求數(shù)組必須是已排序的。如果數(shù)組未排序,則結(jié)果將是不確定的。