本文實例講述了Java實現Map集合遍歷的四種常見方式與用法。分享給大家供大家參考,具體如下:
~Map集合是鍵值對形式存儲值的,所以遍歷Map集合無非就是獲取鍵和值,根據實際需求,進行獲取鍵和值
1. 無非就是通過map.keySet()獲取到值,然後根據鍵獲取到值
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 創建時間: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循環map.keySet(),然後通過鍵key獲取到value值for(String s:map.keySet()){ System.out.println("key : "+s+" value : "+map.get(s)); } System.out.println("===================================="); //第二種只遍歷鍵或者值,通過加強for循環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循環遍歷輸出鍵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 創建時間: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("============================="); //循環顯示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相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。