7

我有 ArrayList>。在另一个活动中,我想访问存储在 ArrayList> 中的所有值。

我试过以下代码:

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

for(Hashmap<String, String> map: mylist) {
    for(Entry<String, String> mapEntry: map) {
        String key = mapEntry.getKey();
        String value = mapEntry.getValue();
    }
}

但它显示一个错误for(Entry<String, String> mapEntry: map),它只在数组上进行交互。

4

5 回答 5

16

您的代码对于这一行有点不同,

for(Entry<String, String> mapEntry: map.entrySet())

试试这个,让我知道会发生什么,

for (HashMap<String, String> map : mylist)
     for (Entry<String, String> mapEntry : map.entrySet())
        {
        String key = mapEntry.getKey();
        String value = mapEntry.getValue();
        }
于 2012-06-29T09:10:08.700 回答
5

简单的方法

试试这个,我希望它也适用于你......

ArrayList<HashMap<String,String>> arraylist;
for (int i=0;i<arraylist.size();i++)
    {
        HashMap<String, String> hashmap= arraylist.get(i);
        String string= hashmap.get("Your_Key_Name");
    }
于 2017-04-18T07:25:30.347 回答
3

尝试这个

       for(HashMap<String,String> map:myList){
           for(String str:map.keySet()){
              String key=str;
              String value=map.get(str);
           }
       }
于 2012-06-29T09:18:27.863 回答
2

试试这个:

    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

    for(HashMap<String, String> map: mylist) {
        for(Entry<String, String> mapEntry: map.entrySet()) {
            String key = mapEntry.getKey();
            String value = mapEntry.getValue();
        }
    }

注意上面写着的那一行for(Entry<String, String> mapEntry: map.entrySet())

于 2012-06-29T09:10:02.787 回答
2

根据这个线程:遍历 HashMap你必须使用HashMap.entrySet()方法。

你也可以看看这里:http: //developer.android.com/reference/java/util/HashMap.html

于 2012-06-29T09:10:07.320 回答