您好,登錄后才能下訂單哦!
小編給大家分享一下在java中binarySearch的使用示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.SpringMVC,Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類(lèi)型的輕量級(jí)Web框架。2.Shiro,Apache Shiro是Java的一個(gè)安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢(xún),存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個(gè)分布式服務(wù)框架。5.Maven,Maven是個(gè)項(xiàng)目管理和構(gòu)建自動(dòng)化工具。6.RabbitMQ,RabbitMQ是用Erlang實(shí)現(xiàn)的一個(gè)高并發(fā)高可靠AMQP消息隊(duì)列服務(wù)器。7.Ehcache,EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架。
在java數(shù)組中,查找數(shù)組元素是比較基礎(chǔ)的操作了,arrays類(lèi)的binarySearch就是專(zhuān)門(mén)實(shí)現(xiàn)指定元素的。同時(shí)它也屬于我們常說(shuō)的二分法。所以作用的范圍是排序過(guò)的數(shù)組。
1.概念
通過(guò)二分法在已經(jīng)排好序的數(shù)組中查找指定的元素,并返回該元素的下標(biāo)。
2.使用注意
此法為二分搜索法,故查詢(xún)前需要用sort()方法將數(shù)組排序,如果數(shù)組沒(méi)有排序,則結(jié)果是不確定的。如果數(shù)組中含有多個(gè)指定值的元素,則無(wú)法保證找到的是哪一個(gè)。
3.返回值
該方法的返回值類(lèi)型為整型,具體返回值具體分為以下兩種情況:
(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); }
以上是“在java中binarySearch的使用示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。