Map的循环,基本的三种格式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_23145857/article/details/81743026

*List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
        Map<String,Object> map1 = new HashMap<String, Object>();
        List<String> list1 = new ArrayList<String>();
        List<String> list2 = new ArrayList<String>();
        List<String> list3 = new ArrayList<String>();
        List<String> list4 = new ArrayList<String>();
        list1.add("添加的Object-->a");
        list2.add("添加的Object-->b");
        list3.add("添加的Object-->c");
        list4.add("添加的Object-->d");

        map1.put("a",list1);
        map1.put("b",list2);
        map1.put("carno0", 123);
        map1.put("name0", "liang");
        list.add(map1);

        Map<String,Object> map2 = new HashMap<String, Object>();
        map2.put("c",list3);
        map2.put("d",list4);
        map1.put("carno0", 123);
        map1.put("name0", "liang");
        list.add(map2);

  System.out.println("========================第一种===========================");

        for (Map<String,Object> map:list
             ) {
            for (String s:map.keySet()
                 ) {
                System.out.print("key:"+s+"\t");
                System.out.println("value:"+map.get(s));
            }
        }
        System.out.println("=========================第二种==========================");
        for (int i = 0; i < list.size(); i++) {
            Map<String, Object> map = list.get(i);
            java.util.Iterator<String> it =  map.keySet().iterator();
            while (it.hasNext()) {
                String str = (String) it.next();
                System.out.print("key:"+str+"\t");
                System.out.println("value:"+map.get(str));
            }
        }
        System.out.println("===========================第三种=============================");

        for (Map<String, Object> map : list) {
            for (Map.Entry<String, Object> m : map.entrySet()) {
                System.out.print("key:"+m.getKey() + "    ");
                System.out.println("value:"+m.getValue());
            }
        }

特点:

     1)map的key采用简单形式和复杂形式时,查找的效率是不同的,简单的key值效率更高

      2)当数据量大的时候,采用entrySet遍历key+value的效率要高于keySet

      3)当我们只需要取得value值时,采用values来遍历效率更高

相关博客:https://blog.csdn.net/zhangsify/article/details/52966094

eg.

  Map<String,Object> map0=new HashMap<String,Object>();
          map0.put("userID", UserID);
          
         List<Map<String,Object>> carmaps= new ArrayList<Map<String, Object>>();
         carmaps=    parkUserCarNoService.selectsysncarno(map0);
         List<ParkUserCarNo>  usercars=new  ArrayList<ParkUserCarNo>();
         int  m1=0;StringBuffer sb=new StringBuffer();
         for (Map<String,Object> map:carmaps
                 ) {
            // ParkUserCarNo  usercarm1=new  ParkUserCarNo();
             
             int n1=0;
            
                for (String s:map.keySet()
                     ) {
                    ++n1;
                    //usercarm1.setCarNO(carNO);
                    System.out.print("selectkey:"+s+"\t");
                    System.out.println("selectvalue:"+map.get(s));
                    if(s.equals("carNo")&&!Utils.isNull(map.get(s))){
                            String carNo="";
                            carNo=map.get(s).toString();
                            if(!Utils.isNull(carNo)){
                                if(m1==0){
                                    sb.append(""+carNo+"");
                                }else{
                                    sb.append("|"+""+carNo+"");
                                }
                                
                            }
                        
                    }
                }
                //usercars.add(usercarm1);
                ++m1;
            }
            System.out.println("获取的车牌为:"+sb);

猜你喜欢

转载自blog.csdn.net/qq_23145857/article/details/81743026