Map集合的四種遍歷方式代碼示例
很久以前寫的代碼,和上一個(gè)做比較吧!便于以后查看。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class TestMap {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "ab");
map.put(4, "ab");
map.put(4, "ab");// 和上面相同 , 會(huì)自己篩選
System.out.println(map.size());
// 第一種:
/*
* Set<Integer> set = map.keySet(); //得到所有key的集合
*
* for (Integer in : set) { String str = map.get(in);
* System.out.println(in + " " + str); }
*/
System.out.println("第一種:通過Map.keySet遍歷key和value:");
for (Integer in : map.keySet()) {
//map.keySet()返回的是所有key的值
String str = map.get(in);//得到每個(gè)key多對(duì)用value的值
System.out.println(in + " " + str);
}
// 第二種:
System.out.println("第二種:通過Map.entrySet使用iterator遍歷key和value:");
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
// 第三種:推薦,尤其是容量大時(shí)
System.out.println("第三種:通過Map.entrySet遍歷key和value");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
//Map.entry<Integer,String> 映射項(xiàng)(鍵-值對(duì)) 有幾個(gè)方法:用上面的名字entry
//entry.getKey() ;entry.getValue(); entry.setValue();
//map.entrySet() 返回此映射中包含的映射關(guān)系的 Set視圖。
System.out.println("key= " + entry.getKey() + " and value= "
+ entry.getValue());
}
// 第四種:
System.out.println("第四種:通過Map.values()遍歷所有的value,但不能遍歷key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
}
結(jié)果:
4 第一種:通過Map.keySet遍歷key和value: 1 a 2 b 3 ab 4 ab 第二種:通過Map.entrySet使用iterator遍歷key和value: key= 1 and value= a key= 2 and value= b key= 3 and value= ab key= 4 and value= ab 第三種:通過Map.entrySet遍歷key和value key= 1 and value= a key= 2 and value= b key= 3 and value= ab key= 4 and value= ab 第四種:通過Map.values()遍歷所有的value,但不能遍歷key value= a value= b value= ab value= ab
總結(jié)
以上就是本文關(guān)于Map集合的四種遍歷方式代碼示例的全部內(nèi)容,希望對(duì)大家有所幫助。溫故而知新,可以為師矣。。。map集合的遍歷屬于老話題了,有什么問題直接留言吧,小編會(huì)及時(shí)回復(fù)大家的。感興趣的朋友可以繼續(xù)參閱:Java中map遍歷方式的選擇問題詳解、Struts2中ognl遍歷數(shù)組,list和map方法詳解、Java map存放數(shù)組并取出值代碼詳解等,感謝朋友們對(duì)本站的支持。
相關(guān)文章
Java時(shí)間轉(zhuǎn)換成unix時(shí)間戳的方法
這篇文章主要為大家詳細(xì)介紹了Java時(shí)間轉(zhuǎn)換成unix時(shí)間戳的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Java中實(shí)現(xiàn)Comparable和Comparator對(duì)象比較
這篇文章主要針對(duì)Java中Comparable和Comparator對(duì)象進(jìn)行比較,感興趣的小伙伴們可以參考一下2016-02-02
java-流的使用完結(jié)與異常處理機(jī)制(詳解)
下面小編就為大家?guī)硪黄猨ava-流的使用完結(jié)與異常處理機(jī)制(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Java啟用Azure Linux虛擬機(jī)診斷設(shè)置
這篇文章主要介紹了Java啟用Azure Linux虛擬機(jī)診斷設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
spring boot整合netty的實(shí)現(xiàn)方法
這篇文章主要介紹了spring boot整合netty的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
spring項(xiàng)目對(duì)某條單據(jù)進(jìn)行加鎖處理的方法
這篇文章主要給大家介紹了關(guān)于spring項(xiàng)目對(duì)某條單據(jù)進(jìn)行加鎖處理的相關(guān)資料,用于對(duì)工單單據(jù)進(jìn)行加鎖和解鎖處理,以防止多用戶同時(shí)編輯同一單據(jù),前端傳遞參數(shù)包括單據(jù)ID、類型、鎖超時(shí)時(shí)間等,后端通過Redis實(shí)現(xiàn)鎖機(jī)制,需要的朋友可以參考下2024-11-11

