List Map 合并

public static void main(String[] args) {  
  //存放所有数据  
  List<Map<String, Object>> dataList = new ArrayList<Map<String,Object>>(); 
  Map<String, Object> m1 = new LinkedHashMap<String, Object>(); 
  m1.put(“cpcj_sum”, 1); 
  m1.put(“cjcj_sum”, 2); 
  m1.put(“cycj_sum”, 3); 
  m1.put(“nxcj_sum”, 4);
  m1.put(“lxcj_sum”, 5);  
  m1.put(“yclcj_sum”, 6); 
  m1.put(“zjcj_sum”, 7); 
  m1.put(“days”, “2017-11-24”);
  m1.put(“xkcj_sum”, 8);
  dataList.add(m1);
  
  Map<String, Object> m2 = new LinkedHashMap<String, Object>(); 
  m2.put(“cpcj_sum”, 2); 
  m2.put(“cjcj_sum”, 3); 
  m2.put(“cycj_sum”, 4); 
  m2.put(“nxcj_sum”, 5);  
  m2.put(“lxcj_sum”, 6); 
  m2.put(“yclcj_sum”, 7);  
  m2.put(“zjcj_sum”, 8); 
  m2.put(“days”, “2017-11-24”); 
  m2.put(“xkcj_sum”, 9); 
  dataList.add(m2);
  Map<String, Object> m4 = new LinkedHashMap<String, Object>(); 
  m4.put(“cpcj_sum”, 11); 
  m4.put(“cjcj_sum”, 12); 
  m4.put(“cycj_sum”, 13); 
  m4.put(“nxcj_sum”, 14); 
  m4.put(“lxcj_sum”, 15); 
  m4.put(“yclcj_sum”, 16);  
  m4.put(“zjcj_sum”, 17); 
  m4.put(“days”, “2017-11-25”); 
  m4.put(“xkcj_sum”, 18); 
  dataList.add(m4);
  Map<String, Object> m3 = new LinkedHashMap<String, Object>(); 
  m3.put(“cpcj_sum”, 3); 
  m3.put(“cjcj_sum”, 4); 
  m3.put(“cycj_sum”, 5); 
  m3.put(“nxcj_sum”, 6); 
  m3.put(“lxcj_sum”, 7); 
  m3.put(“yclcj_sum”, 8);  
  m3.put(“zjcj_sum”, 9);
  m3.put(“days”, “2017-11-24”); 
  m3.put(“xkcj_sum”, 10); 
  dataList.add(m3); 
    
  List<Map<String, Object>> countList = new ArrayList<Map<String,Object>>();
  //用于存放最后的结果 
  for (int i = 0; i < dataList.size(); i++) { 
    String days = String.valueOf(dataList.get(i).get(“days”).toString()); 
    int flag = 0;//0为新增数据,1为增加count  
    for (int j = 0; j < countList.size(); j++) { 
     String newdays = String.valueOf(countList.get(j).get(“days”).toString());
     if (days.equals(newdays)) {  
      int cpcj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“cpcj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“cpcj_sum”))); 
      int cjcj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“cjcj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“cjcj_sum”)));  
      int cycj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“cycj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“cycj_sum”)));  
      int nxcj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“nxcj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“nxcj_sum”)));  
      int lxcj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“lxcj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“lxcj_sum”)));  
      int yclcj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“yclcj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“yclcj_sum”))); 
      int zjcj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“zjcj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“zjcj_sum”))); 
      int xkcj_sum = Integer.parseInt(String.valueOf(dataList.get(i).get(“xkcj_sum”))) + Integer.parseInt(String.valueOf(countList.get(j).get(“xkcj_sum”))); 
      countList.get(j).put(“cpcj_sum”, cpcj_sum);  
      countList.get(j).put(“cjcj_sum”, cjcj_sum);  
      countList.get(j).put(“cycj_sum”, cycj_sum);  
      countList.get(j).put(“nxcj_sum”, nxcj_sum);  
      countList.get(j).put(“lxcj_sum”, lxcj_sum);  
      countList.get(j).put(“yclcj_sum”, yclcj_sum);    
      countList.get(j).put(“zjcj_sum”, zjcj_sum);   
      countList.get(j).put(“xkcj_sum”, xkcj_sum);   
      flag = 1;     
      continue;    
     }  
    }   
    if (flag == 0) { 
     countList.add(dataList.get(i));  
     }  
   }  
   for (Map<String, Object> map : countList) { 
    System.out.println(map); 
   } 
 }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值