map遍歷效率學(xué)習(xí)

map的遍歷

第一種:KeySet()

將Map中所有的鍵存入到set集合中。因?yàn)閟et具備迭代器。所有可以迭代方式取出所有的鍵,再根據(jù)get方法厢钧。獲取每一個鍵對應(yīng)的值。 keySet():迭代后只能通過get()取key?嬉橙。

取到的結(jié)果會亂序早直,是因?yàn)槿〉脭?shù)據(jù)行主鍵的時候,使用了HashMap.keySet()方法市框,而這個方法返回的Set結(jié)果霞扬,里面的數(shù)據(jù)是亂序排放的。

典型用法如下:

Map map = new HashMap();

map.put("key1","lisi1");

map.put("key2","lisi2");

map.put("key3","lisi3");

map.put("key4","lisi4");

//先獲取map集合的所有鍵的set集合枫振,keyset()

Iterator it = map.keySet().iterator();

//獲取迭代器

while(it.hasNext()){

Object key = it.next();

System.out.println(map.get(key));

}

第二種:entrySet()

Set> entrySet() //返回此映射中包含的映射關(guān)系的 Set 視圖喻圃。(一個關(guān)系就是一個鍵-值對),就是把(key-value)作為一個整體一對一對地存放到Set集合當(dāng)中的粪滤。Map.Entry表示映射關(guān)系斧拍。entrySet():迭代后可以e.getKey(),e.getValue()兩種方法來取key和value杖小。返回的是Entry接口肆汹。

典型用法如下:

Map map = new HashMap();

map.put("key1","lisi1");

map.put("key2","lisi2");

map.put("key3","lisi3");

map.put("key4","lisi4");

//將map集合中的映射關(guān)系取出愚墓,存入到set集合

Iterator it = map.entrySet().iterator();

while(it.hasNext()){

Entry e =(Entry) it.next();

System.out.println("鍵"+e.getKey () + "的值為" + e.getValue());

}

推薦使用第二種方式,即entrySet()方法昂勉,效率較高浪册。

對于keySet其實(shí)是遍歷了2次,一次是轉(zhuǎn)為iterator岗照,一次就是從HashMap中取出key所對于的value村象。而entryset只是遍歷了第一次,它把key和value都放到了entry中攒至,所以快了煞肾。兩種遍歷的遍歷時間相差還是很明顯的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嗓袱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子习绢,更是在濱河造成了極大的恐慌渠抹,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闪萄,死亡現(xiàn)場離奇詭異梧却,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)败去,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門放航,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人圆裕,你說我怎么就攤上這事广鳍。” “怎么了吓妆?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵赊时,是天一觀的道長。 經(jīng)常有香客問我行拢,道長祖秒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任舟奠,我火速辦了婚禮竭缝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沼瘫。我一直安慰自己抬纸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布晕鹊。 她就那樣靜靜地躺著松却,像睡著了一般暴浦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晓锻,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天歌焦,我揣著相機(jī)與錄音,去河邊找鬼砚哆。 笑死独撇,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的躁锁。 我是一名探鬼主播纷铣,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼战转!你這毒婦竟也來了搜立?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤槐秧,失蹤者是張志新(化名)和其女友劉穎啄踊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刁标,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颠通,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了膀懈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顿锰。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖启搂,靈堂內(nèi)的尸體忽然破棺而出硼控,到底是詐尸還是另有隱情,我是刑警寧澤胳赌,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布淀歇,位于F島的核電站,受9級特大地震影響匈织,放射性物質(zhì)發(fā)生泄漏浪默。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一缀匕、第九天 我趴在偏房一處隱蔽的房頂上張望纳决。 院中可真熱鬧,春花似錦乡小、人聲如沸阔加。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胜榔。三九已至胳喷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夭织,已是汗流浹背吭露。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尊惰,地道東北人讲竿。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像弄屡,于是被迫代替她去往敵國和親题禀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容