binarySearch在java的查找實(shí)例用法
在java數(shù)組中,查找數(shù)組元素是比較基礎(chǔ)的操作了,arrays類的binarySearch就是專門實(shí)現(xiàn)指定元素的。同時(shí)它也屬于我們常說(shuō)的二分法。所以作用的范圍是排序過(guò)的數(shù)組。下面我們就binarySearch的概念、使用注意進(jìn)行說(shuō)明,同時(shí)分出它的兩種返回值情況,最后進(jìn)行查找的實(shí)例分享。
1.概念通過(guò)二分法在已經(jīng)排好序的數(shù)組中查找指定的元素,并返回該元素的下標(biāo)。
2.使用注意此法為二分搜索法,故查詢前需要用sort()方法將數(shù)組排序,如果數(shù)組沒有排序,則結(jié)果是不確定的。如果數(shù)組中含有多個(gè)指定值的元素,則無(wú)法保證找到的是哪一個(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);// 原來(lái)的集合System.out.println('原來(lái)的集合:');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. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例2. asp畫中畫廣告插入在每篇文章中的實(shí)現(xiàn)方法3. 使用純HTML的通用數(shù)據(jù)管理和服務(wù)4. ASP編碼必備的8條原則5. asp中Request.ServerVariables的參數(shù)集合6. WMLScript腳本程序設(shè)計(jì)第1/9頁(yè)7. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera8. PHP反序列化漏洞實(shí)例深入解析9. ASP基礎(chǔ)知識(shí)Command對(duì)象講解10. PHP session反序列化漏洞深入探究
