迭代輸出Map和List<Map<String,Object>>的方法

一、Map<String,Object>

String:key的類型

Object:value的類型,value可能是String,或者int類型,什麼類型都可以

對於Map接口來說,本身不能直接迭代輸出,因爲Map的每個位置存放的是一對值(key,value),迭代每次只能輸出一個值

需要先取到key的集合,再根據key迭代輸出value

 

迭代方法:

1、foreach

複製代碼
    public static void main(String[] args) {
        String a="aaa";
        int b=10;
        Map<String,Object> map=new HashMap<String, Object>() ;
        map.put("a",a);
        map.put("b", b);
        
        //1、keySet()
        Set<String> set=map.keySet();
        for(String key:set)
        {
            System.out.println(key+":"+map.get(key));
        }
        //2、entrySet()
        Set<Entry<String,Object>> entries =map.entrySet();
        for(Entry<String,Object> entry:entries ){
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    
    }
複製代碼

2、Iterator(推薦)

複製代碼
Map<String,String> map=new HashMap<String,String>();
map.put("mldn","www.mldn.com");
map.put("java","www.java.com");

Set<String> keys=map.keySet();
Iterator<String> iter=keys.iterator();
while(iter.hasNext())
{
    System.out.println(iter.next().getKey());
}
複製代碼

 

 

keySet():遍歷Map key-value比較習慣的方式是先獲取Map中的所有key值,然後根據key,依次從Map中去數據

EntrySet():Map接口中還有一個Entry<K,V>的接口,對應的還有一個 Set<Map.Entry<K, V>> entrySet()方法。

      也就是說其實Map中的每條key-value數據對應着一個Entry,這樣的話遍歷Map其實就是要取出每個Entry

 

 

二、List<Map<String,Object>>

複製代碼
    public static void main(String[] args) {
        List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();//List集合中存放Map集合
        Map<String,Object> map=new HashMap<String,Object>();//定義一個Map集合
        map.put("1","wang");//這個Map集合放進去一個<key,value>對
        map.put("2", "xiao");//這個Map集合又放進去一個<key,value>對
        map.put("3", "dong");
        map.put("4", "haha");//這個Map集合共有4個<key,value>對
        list.add(map);//將這一條map集合放進List集合裏
        
        for(Map<String,Object> m:list){    //取list集合裏的那一條Map集合
            for(String s:m.keySet()){    //取map集合裏的String類型的key,
                System.out.println(m.get(s));//根據key迭代輸出value
            }
        }
        
    }
複製代碼

下面是list集合裏的那一條map集合,裏面4個<key,value>對

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章