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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 使用getClass().getResourceAsStream()方法獲取資源
這篇文章主要介紹了Java 使用getClass().getResourceAsStream()方法獲取資源的相關(guān)資料,這里主要講解哪種方式可以獲取到文件資源,需要的朋友可以參考下2017-07-07springboot優(yōu)雅獲取前端參數(shù)的方法詳解
現(xiàn)在的項(xiàng)目基本上都是前后端分離的項(xiàng)目,如何打通前后端,接收前端傳過來的參數(shù)呢,這篇文章小編就來和大家詳細(xì)介紹一下springboot如何優(yōu)雅的獲取前端參數(shù)吧2024-03-03Spring AOP定義AfterReturning增加實(shí)例分析
這篇文章主要介紹了Spring AOP定義AfterReturning增加,結(jié)合實(shí)例形式分析了Spring面相切面AOP定義AfterReturning增加相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2020-01-01Java實(shí)現(xiàn)獲取指定個(gè)數(shù)的不同隨機(jī)數(shù)
今天小編就為大家分享一篇關(guān)于Java實(shí)現(xiàn)獲取指定個(gè)數(shù)的不同隨機(jī)數(shù),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01