List对象本身合并: ①先合并②再去重复
Map<String ,HashSet<String>>aopFundOpenRuleExtTemMap = new HashMap<>();
for (int i = 0; i < aopFundOpenRuleExtOneList.size(); i++) {
AopFundOpenRuleExt obj = aopFundOpenRuleExtOneList.get(i);
//将code和时间拼接为Key值
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());
}
}
//去重复
Map<String ,String>aopCycleTemMap = new HashMap<>();
for (Map.Entry<String, HashSet<String>> entry : aopFundOpenRuleExtTemMap.entrySet()) {
if(entry.getValue().contains(DictCnst.FUND_STATUS__1)){
//set.add(DictCnst.FUND_STATUS__1);
aopCycleTemMap.put(entry.getKey(),DictCnst.FUND_STATUS__1);
}else if(entry.getValue().contains(DictCnst.FUND_STATUS__3)&&entry.getValue().contains(DictCnst.FUND_STATUS__4)){
//set.add(DictCnst.FUND_STATUS__1);
aopCycleTemMap.put(entry.getKey(),DictCnst.FUND_STATUS__1);
}else{
if(!entry.getValue().isEmpty()){
aopCycleTemMap.put(entry.getKey(),entry.getValue().iterator().next());
}
}
}