java中Map遍歷的四種方式總結(jié)
本文以如下map案例:
Map<String, String> map = new HashMap<>();
map.put("student1", "張三");
map.put("student2", "李四");
map.put("student3", "王五");1、map.entrySet()方式
entrySet()方法: 獲取map中所有的鍵值對,結(jié)果為Set集合
在jdk版本小于1.8時,該種方式經(jīng)常使用,效率高
//獲取map中的所有鍵值對,結(jié)果為Set類型的集合
Set<Map.Entry<String, String>> entries = map.entrySet();
/** 遍歷Set集合、開發(fā)中常見的遍歷方式 */
//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));2、map.keySet()方式
keySet()方法:獲取map中的所有鍵(key),結(jié)果為Set集合
該種方式比 entrySet()方式較慢,且比方式4慢,實(shí)際開發(fā)中也可使用
//獲取map中的所有鍵,結(jié)果為Set類型的集合
Set<String> keys = map.keySet();
//根據(jù)key獲取map中的元素
for (String key : keys) {
System.out.println(map.get(key));
}3、map.values()方式
values():直接獲取map所有的值(value),組裝為一個Collection集合
該種方式效率最低,使用到最上層的Collection接口,開發(fā)中應(yīng)當(dāng)避免使用
//直接獲取map所有的值(value),組裝為一個Collection集合【Collection集合是Set、List的父接口】
Collection<String> values = map.values();
//遍歷Collection集合
for (String value : values) {
System.out.println(value);
}4、forEach方式
需JDK8及以上,直接支持遍歷map
該種方式是方式1(entrySet)的進(jìn)一步封裝,優(yōu)化了代碼的簡潔性,性能與entrySet略慢(因?yàn)檫M(jìn)一步封裝了下),開發(fā)中經(jīng)常使用
語法:
//當(dāng)業(yè)務(wù)代碼只有一句時,"{}"符號與";"符號可以省略
map.forEach((鍵變量名稱,值遍歷名稱)->{
//業(yè)務(wù)代碼
});
map.forEach((key,value)-> System.out.println(value));
總結(jié)
到此這篇關(guān)于java中Map遍歷的四種方式總結(jié)的文章就介紹到這了,更多相關(guān)java Map遍歷方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot用戶數(shù)據(jù)修改的詳細(xì)實(shí)現(xiàn)
用戶管理功能作為所有的系統(tǒng)是必不可少的一部分,下面這篇文章主要給大家介紹了關(guān)于springboot用戶數(shù)據(jù)修改的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
java實(shí)現(xiàn)短地址服務(wù)的方法(附代碼)
大多數(shù)情況下URL太長,字符多,不便于發(fā)布復(fù)制和存儲,本文就介紹了通過java實(shí)現(xiàn)短地址服務(wù),減少了許多使用太長URL帶來的不便,需要的朋友可以參考下2015-07-07
基于IDEA 的遠(yuǎn)程調(diào)試 Weblogic的操作過程
這篇文章主要介紹了基于IDEA 的遠(yuǎn)程調(diào)試 Weblogic的操作過程,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09
java實(shí)現(xiàn)String字符串處理各種類型轉(zhuǎn)換
在日常的程序開發(fā)中,經(jīng)常會涉及到不同類型之間的轉(zhuǎn)換,本文主要介紹了String字符串處理各種類型轉(zhuǎn)換,具有一定的參考價值,感興趣的可以了解一下2023-10-10

