binarySearch在java的查找實(shí)例用法
在java數(shù)組中,查找數(shù)組元素是比較基礎(chǔ)的操作了,arrays類的binarySearch就是專門實(shí)現(xiàn)指定元素的。同時(shí)它也屬于我們常說的二分法。所以作用的范圍是排序過的數(shù)組。下面我們就binarySearch的概念、使用注意進(jìn)行說明,同時(shí)分出它的兩種返回值情況,最后進(jìn)行查找的實(shí)例分享。
1.概念通過二分法在已經(jīng)排好序的數(shù)組中查找指定的元素,并返回該元素的下標(biāo)。
2.使用注意此法為二分搜索法,故查詢前需要用sort()方法將數(shù)組排序,如果數(shù)組沒有排序,則結(jié)果是不確定的。如果數(shù)組中含有多個(gè)指定值的元素,則無法保證找到的是哪一個(gè)。
3.返回值該方法的返回值類型為整型,具體返回值具體分為以下兩種情況:
(1)如果數(shù)組中存在該元素,則會(huì)返回該元素在數(shù)組中的下標(biāo)
(2)如果數(shù)組中不存在該元素,則會(huì)返回-(插入點(diǎn) + 1)
這里的插入點(diǎn)具體指的是:如果該數(shù)組中存在該元素,那個(gè)元素在該數(shù)組中的下標(biāo)
4.實(shí)例public static void main(String[] args) {List<Integer> lists = new ArrayList<Integer>();lists.add(3);lists.add(6);lists.add(8);lists.add(7);lists.add(1);// 原來的集合System.out.println('原來的集合:');for (Integer str : lists) {System.out.print(str + ' ');}// 對(duì)集合進(jìn)行排序Collections.sort(lists);System.out.println('n排序后的集合:');for (Integer str : lists) {System.out.print(str + ' ');}// 使用binarySearch方法查找集合中的元素int i = Collections.binarySearch(lists, 2);System.out.println('n2所在的位置:' + i);}
到此這篇關(guān)于binarySearch在java的查找實(shí)例用法的文章就介紹到這了,更多相關(guān)binarySearch在java的查找使用內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. idea設(shè)置代碼格式化的方法步驟2. 刪除docker里建立容器的操作方法3. 解析原生JS getComputedStyle4. idea自定義快捷鍵的方法步驟5. Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?6. 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法7. JavaScript中break、continue和return的用法區(qū)別實(shí)例分析8. IntelliJ IDEA設(shè)置編碼格式的方法9. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟10. Docker容器如何更新打包并上傳到阿里云

網(wǎng)公網(wǎng)安備