遍历<List<Map<String,Object>>>数据结构的两种方法
package com.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class PrintList {
public static void main(String[] args) {
List<Map<String,Object>> list = new ArrayList();
Map<String,Object> map = new HashMap();
map.put("empid", "111");
map.put("empid2", "222");
map.put("empid3", "333");
list.add(map);
printList2(list);
}
/**
* 方法一:
* 遍历List<Map<String,Object>>数据结构,根据指定的key,把所有的value取出来
* [{empid=397}, {empid=604}, {empid=473300}, {empid=598925}]
* 数据库查询出来的结果,是上面这样的数据格式,取指定字段(empid)值得时候,用这种方法
*/
public static void printList(List<Map<String,Object>> list){
for(int i=0;i<list.size();i++){
String res = (String)list.get(i).get("empid");
System.out.println("res:"+res);
}
// 结果:res:111
}
/**
* 方法二:
* 遍历List<Map<String,Object>>数据结构,map中所有的key和value
*/
public static void printList2(List<Map<String,Object>> list){
for(int i=0;i<list.size();i++){
Map<String,Object> newMap = list.get(i);
for(Entry<String,Object> entry:newMap.entrySet()){
System.out.println("key:"+entry.getKey());
System.out.println("value:"+entry.getValue());
}
}
/*
结果:
key:empid
value:111
key:empid3
value:333
key:empid2
value:222
*/
}
}