2015-05-25 27 views

回答

4

您使用entrySet遍历外部地图,然后使用entrySet遍历内部地图的每个外部地图值。

for (Map.Entry<String,HashMap<String,String>> entry : mp.entrySet()) { 
    for (Map.Entry<String,String> innerEntry : entry.getValue().entrySet()) { 
     ... 
    } 
} 
+0

'entry.getValue()' - >'entry.getValue()的entrySet( )'。 – saka1029

+0

@ saka1029谢谢! – Eran

0

你可以试试这个代码:

Set hmset = hm.entrySet(); 
for (HashMap<String,String> innerMap : hm.values()) { 
    for (String st1 : innerMap.values()) { 
     System.out.println(st1); 
    } 
} 
2

你可以试试这个代码:

package com.test; 

import java.util.HashMap; 
import java.util.Set; 

public class TestMain { 

    public static void main(String[] args) { 
     HashMap<String,HashMap<String,String>>mp= new HashMap<String,HashMap<String,String>>(); 
     HashMap<String, String> innerMap1= new HashMap<String, String>(); 
     innerMap1.put("1", "firstValueOf_InnerMap1"); 
     innerMap1.put("2", "SecondValueOf_InnerMap1"); 

     HashMap<String, String> innerMap2= new HashMap<String, String>(); 
     innerMap2.put("1", "firstValueOf_InnerMap2"); 
     innerMap2.put("2", "SecondValueOf_InnerMap2"); 

     mp.put("one", innerMap1); 
     mp.put("two", innerMap2); 

      for (HashMap<String,String> innerHashMap : mp.values()) { 
       for (String value : innerHashMap.values()) { 
       System.out.println(value); 
       } 
      } 

} 

}