Java實現(xiàn)Map集合遍歷的四種常見方式與用法分析
本文實例講述了Java實現(xiàn)Map集合遍歷的四種常見方式與用法。分享給大家供大家參考,具體如下:
~Map集合是鍵值對形式存儲值的,所以遍歷Map集合無非就是獲取鍵和值,根據(jù)實際需求,進行獲取鍵和值
1. 無非就是通過map.keySet()獲取到值,然后根據(jù)鍵獲取到值
for(String s:map.keySet()){
System.out.println("key : "+s+" value : "+map.get(s));
}
2. 通過Map.Entry(String,String) 獲取,然后使用entry.getKey()獲取到鍵,通過entry.getValue()獲取到值
for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println("鍵 key :"+entry.getKey()+" 值value :"+entry.getValue());
}
3. 其中通過Iterator也是為了最終獲得entry,所以理解其用法,可以很好的使用和掌握
package com.bie;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* @author BieHongLi
* @version 創(chuàng)建時間:2017年2月25日 下午8:58:54
*
*/
public class MapTest01 {
public static void main(String[] args) {
Map<String, String> map=new HashMap<String, String>();
map.put("張三1", "男");
map.put("張三2", "男");
map.put("張三3", "男");
map.put("張三4", "男");
map.put("張三5", "男");
//第一種遍歷map的方法,通過加強for循環(huán)map.keySet(),然后通過鍵key獲取到value值
for(String s:map.keySet()){
System.out.println("key : "+s+" value : "+map.get(s));
}
System.out.println("====================================");
//第二種只遍歷鍵或者值,通過加強for循環(huán)
for(String s1:map.keySet()){//遍歷map的鍵
System.out.println("鍵key :"+s1);
}
for(String s2:map.values()){//遍歷map的值
System.out.println("值value :"+s2);
}
System.out.println("====================================");
//第三種方式Map.Entry<String, String>的加強for循環(huán)遍歷輸出鍵key和值value
for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println("鍵 key :"+entry.getKey()+" 值value :"+entry.getValue());
}
System.out.println("====================================");
//第四種Iterator遍歷獲取,然后獲取到Map.Entry<String, String>,再得到getKey()和getValue()
Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> entry=it.next();
System.out.println("鍵key :"+entry.getKey()+" value :"+entry.getValue());
}
System.out.println("====================================");
}
}
4. Map的一些常用的知識點,和取值的變形形式,都需要掌握和了解
package com.bie;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* @author BieHongLi
* @version 創(chuàng)建時間:2017年2月26日 上午11:29:59
*
*/
public class MapTest02 {
public static void main(String[] args) {
//1:key,value都是object類型的
//2:key必須是唯一的,不唯一,那么后面的value會把前面的value覆蓋
//3:對于HashMap,key可以為空
//4:value可以為空,也可以為空
//5:HashTable的key和value不能為空
//6:properties的key和value必須為String類型的
Map<String , String> map=new HashMap<>();
map.put("null", "this is null 1");
map.put("null", "this is null 2");
System.out.println(map.size());
System.out.println(map.get(null));
System.out.println("=============================");
//循環(huán)顯示map類型的key以及對應的value
//三個集合,key的集合,value的集合,鍵值對的集合
Set<String> keys=map.keySet();
for(String s:keys){
System.out.println(s);
}
System.out.println("=============================");
Collection<String> values=map.values();//值的集合
System.out.println(values);
System.out.println("=============================");
Set<Map.Entry<String, String>> entrys=map.entrySet();//鍵值對的集合
for(Map.Entry<String, String> entry:entrys){
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
更多java相關內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
SpringBoot+WebSocket實現(xiàn)即時通訊功能(Spring方式)
今天給大家分享一個SpringBoot+WebSocket實現(xiàn)即時通訊功能(Spring方式),WebSocket是一種在單個TCP連接上進行全雙工通信的協(xié)議,文章通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2023-10-10
Spring使用@Conditional進行條件裝配的實現(xiàn)
在spring中有些bean需要滿足某些環(huán)境條件才創(chuàng)建某個bean,這個時候可以在bean定義上使用@Conditional注解來修飾,所以本文給大家介紹了Spring使用@Conditional進行條件裝配的實現(xiàn),文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2023-12-12
springboot整合企微webhook機器人發(fā)送消息提醒
這篇文章主要為大家介紹了springboot整合企微webhook機器人發(fā)送消息提醒,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
解決CollectionUtils.isNotEmpty()不存在的問題
這篇文章主要介紹了解決CollectionUtils.isNotEmpty()不存在的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Spring Boot 項目中整合 MyBatis 和 PageHel
這篇文章主要介紹了Spring Boot 項目中整合 MyBatis 和 PageHelper的操作步驟,整合 PageHelper 到 Spring Boot 項目中主要包括添加依賴、配置數(shù)據(jù)源與 MyBatis、配置 PageHelper 以及在業(yè)務邏輯中使用 PageHelper 進行分頁查詢,需要的朋友可以參考下2024-04-04
Java數(shù)據(jù)類型實現(xiàn)自動與強制轉(zhuǎn)換的示例代碼
Java數(shù)據(jù)類型之間的轉(zhuǎn)換有自動轉(zhuǎn)換和強制類型轉(zhuǎn)換,這篇文章主要給大家介紹Java數(shù)據(jù)類型如何實現(xiàn)自動轉(zhuǎn)換與強制轉(zhuǎn)換,需要的朋友可以參考下2023-05-05

