关于Java:如何循环遍历HashMap的所有内容

How to loop through ALL content of HashMap

本问题已经有最佳答案,请猛点这里访问。

如何循环遍历hashmap的所有内容?我只拿到最后一个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

// 0
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("name","name0");
    map.put("company","company0");
    list.add(map);
// 1
    map = new HashMap<String, String>();
    map.put("name","name1");
    map.put("company","company1");
    list.add(map);


    for (String key : map.keySet()) {
        String value = map.get(key);
        Log.w("dd:","Key =" + key +", Value =" + value);
    }

我只得到最后一个结果:

1
2
Key = company, Value = company1
Key = name, Value = name1


列表中有多个地图。您需要循环列表,然后循环列表中的映射。

1
2
3
for(HashMap<String, String> curMap : list) {
    //Put your loop over the map here.
}


先遍历列表,然后遍历映射。

1
2
3
4
5
6
for(Map<String, String> myMap: list){
    for (Map.Entry<String, String> entry : myMap.entrySet()){
           Log.w("dd:","Key =" + entry.getKey() +", Value =" +            
              entry.getValue());
          }
}