您好,登錄后才能下訂單哦!
這篇“java中Map遍歷的方式有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“java中Map遍歷的方式有哪些”文章吧。
本文以如下map案例:
Map<String, String> map = new HashMap<>(); map.put("student1", "張三"); map.put("student2", "李四"); map.put("student3", "王五");
entrySet()方法: 獲取map中所有的鍵值對(duì),結(jié)果為Set集合
在jdk版本小于1.8時(shí),該種方式經(jīng)常使用,效率高
//獲取map中的所有鍵值對(duì),結(jié)果為Set類(lèi)型的集合 Set<Map.Entry<String, String>> entries = map.entrySet(); /** 遍歷Set集合、開(kāi)發(fā)中常見(jiàn)的遍歷方式 */ //1、增強(qiáng)for形式遍歷結(jié)果 for (Map.Entry<String, String> entry : entries) { System.out.println(entry); } //2、Lamdba表達(dá)式遍歷結(jié)果 entries.forEach(entry-> System.out.println(entry));
keySet()方法:獲取map中的所有鍵(key),結(jié)果為Set集合
該種方式比 entrySet()方式較慢,且比方式4慢,實(shí)際開(kāi)發(fā)中也可使用
//獲取map中的所有鍵,結(jié)果為Set類(lèi)型的集合 Set<String> keys = map.keySet(); //根據(jù)key獲取map中的元素 for (String key : keys) { System.out.println(map.get(key)); }
values():直接獲取map所有的值(value),組裝為一個(gè)Collection集合
該種方式效率最低,使用到最上層的Collection接口,開(kāi)發(fā)中應(yīng)當(dāng)避免使用
//直接獲取map所有的值(value),組裝為一個(gè)Collection集合【Collection集合是Set、List的父接口】 Collection<String> values = map.values(); //遍歷Collection集合 for (String value : values) { System.out.println(value); }
需JDK8及以上,直接支持遍歷map
該種方式是方式1(entrySet)的進(jìn)一步封裝,優(yōu)化了代碼的簡(jiǎn)潔性,性能與entrySet略慢(因?yàn)檫M(jìn)一步封裝了下),開(kāi)發(fā)中經(jīng)常使用
語(yǔ)法:
//當(dāng)業(yè)務(wù)代碼只有一句時(shí),"{}"符號(hào)與";"符號(hào)可以省略
map.forEach((鍵變量名稱(chēng),值遍歷名稱(chēng))->{
//業(yè)務(wù)代碼
});
map.forEach((key,value)-> System.out.println(value));
以上就是關(guān)于“java中Map遍歷的方式有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(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)容。