Java Map集合解析

Map<String, String> map = new HashMap<String, String>();  
        map.put("user.1.name","user1");  
        map.put("user.2.age","user2");  
        map.put("user.3.count","user3");  
          
        map.put("bank.1.name","bank1");  
        map.put("bank.2.price","bank2");  
        map.put("bank.3.count","bank3");  
          
        Map<String,Object> records = new HashMap<String,Object>();  
        for (Object obj : map.entrySet()) {  
            Map.Entry entry = (Map.Entry)obj;  
            String k = (String)entry.getKey();  
            String v = (String)entry.getValue();  
            int i = k.indexOf(".");  
            int j = k.lastIndexOf(".");  
            if(i>0 && j>0){  
                String tableName = k.substring(0, i);  
                String rowNo = k.substring(i+1, j);  
                String fieldName = k.substring(j+1);  
                Map<String,Object> rows = (Map<String,Object>)records.get(tableName);  
                if(rows==null){  
                    rows = new HashMap<String, Object>();  
                    records.put(tableName, rows);  
                }  
                Map<String, Object> row = (Map<String, Object>)rows.get(rowNo);  
                if(row==null){  
                    row = new HashMap<String, Object>();  
                    rows.put(rowNo, row);  
                }  
                row.put(fieldName, v);  
            }  
        }  
        for (Object obj : records.keySet()) {  
            Map<String,Object> rows = (Map<String,Object>)records.get(obj);  
            for (int i = 1; i < rows.size()+1; i++) {  
                Map<String, Object> row = (Map<String, Object>)rows.get(String.valueOf(i));  
                for (Object o : row.entrySet()) {  
                    Map.Entry entry = (Map.Entry)o;  
                    String k = (String)entry.getKey();  
                    String v = (String)entry.getValue();  
                    System.out.println("k :"+k+" v:"+v);  
                }  
            }  
        }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值