两个map比大小:
private Map<String, String>compare (Map<String ,String>map,Map<String ,String>map1){ Map<String ,String> tem = new HashMap<>(); for(Map.Entry<String, String> entry:map1.entrySet()){ String key = entry.getKey(); String value = entry.getValue(); if (!map.containsKey(key)){ tem.put(key, value); } } map.putAll(tem); return map; }
两个Map合并
private Map<String, String>compareUnion (Map<String ,String>map,Map<String ,String>map1){ Map<String ,String> tem = new HashMap<>(); for(Map.Entry<String, String> entry:map1.entrySet()){ String key = entry.getKey(); String value = entry.getValue(); if (!map.containsKey(key)){ tem.put(key, value); }else{ if(StringUtils.equals(value,DictCnst.FUND_STATUS__1)||StringUtils.equals(map.get(key),DictCnst.FUND_STATUS__1)){ map.put(key,DictCnst.FUND_STATUS__1); }else if(StringUtils.equals(value,DictCnst.FUND_STATUS__3)&&StringUtils.equals(map.get(key),DictCnst.FUND_STATUS__4)){ map.put(key,DictCnst.FUND_STATUS__1); }else if(StringUtils.equals(value,DictCnst.FUND_STATUS__4)&&StringUtils.equals(map.get(key),DictCnst.FUND_STATUS__3)){ map.put(key,DictCnst.FUND_STATUS__1); } } } map.putAll(tem); return map; }
--将List存入map,data+code当key,status存入set 并去重复字段
Map<String ,HashSet<String>>aopFundOpenRuleExtTemMap = new HashMap<>(); for (int i = 0; i < aopFundOpenRuleExtOneList.size(); i++) { AopFundOpenRuleExt obj = aopFundOpenRuleExtOneList.get(i); String mapKey = obj.getFundCode()+","+obj.getCycleBeginDate(); if (aopFundOpenRuleExtTemMap.containsKey(mapKey)){ Set<String> set = aopFundOpenRuleExtTemMap.get(mapKey); // add set.add(obj.getFundStatus()); }else { HashSet<String> set = new HashSet<>(); aopFundOpenRuleExtTemMap.put(mapKey, set); //obj.status set add set.add(obj.getFundStatus()); } }