欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java中什么是Map集合-創(chuàng)新互聯(lián)

小編給大家分享一下Java中什么是Map集合,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括果洛州網(wǎng)站建設(shè)、果洛州網(wǎng)站制作、果洛州網(wǎng)頁(yè)制作以及果洛州網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,果洛州網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到果洛州省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

一、什么是Map

不同于List單列的線性結(jié)構(gòu),Java中的Map提供的是一種雙列映射的存儲(chǔ)集合,它能夠提供一對(duì)一的數(shù)據(jù)處理能力,雙列中的第一列我們稱為key,第二列就是value,一個(gè)key只能夠在一個(gè)Map中出現(xiàn)最多一次,通過一個(gè)key能夠獲取Map中唯一一個(gè)與之對(duì)應(yīng)的value值,正是它的這種一對(duì)一映射的數(shù)據(jù)處理關(guān)系,在實(shí)際應(yīng)用中可以通過一個(gè)key快速定位到對(duì)應(yīng)的value。

Map的三個(gè)特點(diǎn):

  1. 包含鍵值對(duì)

  2. 鍵唯一

  3. 鍵對(duì)應(yīng)的值唯一

二、Map集合常用的遍歷方式

遍歷Map集合的常用方式有三種:

使用keySet的方式

使用entrySet的方式

使用values()取值的方式

這三種方式中,都有對(duì)應(yīng)的for循環(huán)遍歷和Iterator遍歷的方式取值。

keySet是鍵的集合,Set里面的類型即key的類型;

entrySet是鍵-值對(duì)的集合,Set里面的類型是Map.Entry,Entry是一個(gè)鍵-值對(duì);

keySet():迭代后只能通過get()取key;

entrySet():迭代后可以e.getKey(),e.getValue()取key和value,返回的是Entry接口;

三、遍歷的性能對(duì)比

for each與顯示調(diào)用Iterator等價(jià),除了第三種方式(for each map.keySet()),再調(diào)用get獲取方式外,其他三種方式性能相當(dāng)。本例還是hash值散列較好的情況,若散列算法較差,第三種方式會(huì)更加耗時(shí)。

1、在數(shù)據(jù)元素的數(shù)量比較大時(shí),entrySet()方式的遍歷效率快于keySet(),有兩個(gè)原因 :

(1)一個(gè)原因是keySet相當(dāng)于遍歷了2次,一次是對(duì)key的Set集合的遍歷,二次是每次遍歷過程都要通過key和map.get(key)來獲取value值。

(2)第二個(gè)原因是map.get(key)的時(shí)候,底層是根據(jù)key的hashCode值經(jīng)過哈希算法得到一個(gè)hash值,然后作為索引映射到對(duì)應(yīng)的table數(shù)組的索引位置,這是一次密集型計(jì)算,很耗費(fèi)CPU,如果有大量的元素,則會(huì)使CPU使用率飆升,影響響應(yīng)速度,而entrySet()返回的set里面的元素都是Map.Enpty類型,key和value就是這個(gè)類的一個(gè)屬性,entry.getKey()和entry.getValue()效率肯定很高。

2、不過,在數(shù)據(jù)元素的數(shù)量比較小的情況小,keySet()方式的遍歷效率快于entrySet()。

3、values()是返回Map的所有value的集合的Collection,只能遍歷到value,很難遍歷到key,所以一般不用,如果當(dāng)我們只需要取得value值時(shí),采用values來遍歷效率更高。

4、從上面的幾種方式的for循環(huán)遍歷和Iterator遍歷的方式耗時(shí)結(jié)果來看,Iterator遍歷的效率會(huì)比for循環(huán)效率更快一點(diǎn)。

以上是“Java中什么是Map集合”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

當(dāng)前文章:Java中什么是Map集合-創(chuàng)新互聯(lián)
文章出自:http://www.chinadenli.net/article48/dcijep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司軟件開發(fā)App開發(fā)網(wǎng)站建設(shè)電子商務(wù)定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)