遍历<List<Map<String,Object>>>数据结构的两种方法

遍历<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
        */
    }
}

 

posted @ 2018-05-28 15:52  唐胜伟  阅读(12862)  评论(0)    收藏  举报