List<Map<String, String>> java怎么遍历

如题所述

java中遍历list可以使用keyset来遍历,示例如下:

Map<String,Object> map = new HashMap<String, String>();  
    map.put("1", "fds");  
    map.put("2", "valu");  
    List<Map<String, String>> list = new ArrayList<Map<String, String>>();  
    list.add(map);  
    for (Map<String, String> m : list)  
    {  
      for (String k : m.keySet())  
      {  
        System.out.println(k + " : " + m.get(k));  
      }  
  
    }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-17
List<Map<String,Object>> list= ...
for (int i=0;i<list.size(),i++)
{
Map map=(Map)list.get(i);
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext())
{
String key = (String) iterator.next();
Object object = map.get(key);
}
}追问

List> 这样的!

追答

List> list = new ArrayList>();

追问

老大 你不明白 我要的啊!List> list = new ArrayList>();

追答

直接把Object换成String就行了,都是一样遍历的了

本回答被网友采纳
第2个回答  2013-12-17
你想遍历看什么?

for(int i = 0 ; i < list.size(); i ++){
System.out.print(list.get(i)); // 查看单个Map中的数据
}追问

我在数据库里读出了 一条数据 里面有三个字段 我想取出这三个字段的值, 能给个例子吗?

追答

public static void main(String[] args) {

List<Map> list = new ArrayList<Map>();

for (int i = 0; i < 2; i++) {

Map<String, String> map = new HashMap<String, String>();

map.put("operator_id", "admin_"+i);

map.put("name", "name_"+i);

list.add(map);

}

// 已完成List<Map<String,String>>的数据源

System.out.println(list);

// 获取单个的Map数据

for (int i = 0; i < list.size(); i++) {

Map<String, String> map = list.get(i) ;

Set<String> set = map.keySet();

List<String> keyList = new ArrayList<String>();

keyList.addAll(set) ;

for (int j = 0; j < keyList.size(); j++) {

System.out.println("第"+j+"个Map数据");

System.out.println("key:" + keyList.get(j) + "---Value:" + map.get(keyList.get(j)));

}

}

}




不知道是不是你要的结果?


本回答被提问者采纳
相似回答