遍歷Map的方式 第一種通過 map1.keySet() 獲取key 通過key 找到value; 第二種通過Map.Entry(String,Integer) 獲取,然後使用entry.getKey()獲取到鍵,通過entry.getValue()獲取到值;第三種只遍歷鍵或者值,通過加強for迴圈 ...
遍歷Map的方式
第一種通過 map1.keySet() 獲取key 通過key 找到value;
第二種通過Map.Entry(String,Integer) 獲取,然後使用entry.getKey()獲取到鍵,通過entry.getValue()獲取到值;
第三種只遍歷鍵或者值,通過加強for迴圈;
第四種Iterator遍歷獲取,然後獲取到Map.Entry<String, String>,再得到getKey()和getValue();
推薦第四種,尤其是容量大時。
實現如下:
package com.blmlove; import java.util.*; public class Test { public static void main(String[] args) { //遍歷Map Map<String, Integer> map1 = new HashMap<String, Integer>(); map1.put("jack", 20); map1.put("rose", 18); map1.put("lucy", 17); map1.put("java", 25); //第一種通過 map1.keySet() 獲取key 通過key 找到value for (String key : map1.keySet()) { Integer value = map1.get(key); System.out.println("key : "+key+" value : "+value); } //第二種通過Map.Entry(String,Integer) 獲取,然後使用entry.getKey()獲取到鍵,通過entry.getValue()獲取到值 for(Map.Entry<String, Integer> entry : map1.entrySet()){ System.out.println("鍵 key :"+entry.getKey()+" 值value :"+entry.getValue()); } //第三種只遍歷鍵或者值,通過加強for迴圈 for(String s1:map1.keySet()){//遍歷map的鍵 System.out.println("鍵key :"+s1); } for(Integer s2:map1.values()){//遍歷map的值 System.out.println("值value :"+s2); } //第四種Iterator遍歷獲取,然後獲取到Map.Entry<String, String>,再得到getKey()和getValue() Iterator<Map.Entry<String, Integer>> it=map1.entrySet().iterator(); while(it.hasNext()){ Map.Entry<String, Integer> entry=it.next(); System.out.println("鍵key :"+entry.getKey()+" value :"+entry.getValue()); } } }
結果展示: