如何迭代 Arraylist<HashMap<String,String>>?

7

我有一个像这样的ArrayList对象:

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

如何遍历列表?我想在TextView中显示来自ArrayList对象数据的值。
2个回答

22

最简单的方法是遍历ArrayList中的所有HashMap,然后遍历Map中的所有键:

TextView view = (TextView) view.findViewById(R.id.view);

for (HashMap<String, String> map : data)
     for (Entry<String, String> entry : map.entrySet())
         view.append(entry.getKey() + " => " + entry.getValue());

4
对于第二次迭代,我个人更喜欢迭代映射条目而不是键。 for (Entry<String, String> entry : map.entrySet())。这样,您已经同时拥有了键和值,无需进行另一次映射查找。 - Ben van Gompel
@BenvanGompel:好观点,这取决于您的用例,但已更新! :) - dacwe

2

for(HashMap<String, String> map : data){ ... 处理 map... }

该代码段是一个for循环,用于遍历一个名为"data"的HashMap列表。在每次迭代中,将当前HashMap赋值给变量"map",然后执行一些处理操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接