zoukankan      html  css  js  c++  java
  • 迭代输出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>对

    参考:

    http://blog.csdn.net/ipolaris/article/details/8930599

    http://blog.csdn.net/zhuanshenweiliu/article/details/9180975

  • 相关阅读:
    ATA/SATA/SCSI/SAS/FC总线简介
    RAID卡
    解读Gartner《2015年度新兴技术成熟度曲线报告》
    linux 下 取进程占用内存(MEM)最高的前10个进程
    网站用域名能访问,用域名IP不能访问的原因分析
    iis7下iis安全狗不能用怎么办(安装iis6兼容性)
    4M宽带一般最大的下载速度是多少?
    U盘安装操作系统
    windows7实现打印机共享的方法
    windows7系统下如何安装windows xp系统(无法识别硬盘,删除隐藏分区)
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/6143760.html
Copyright © 2011-2022 走看看