描述及实现:
1、List中有 Modular字段值有重复一样的
2、Modular字段一样的话去重并且OrderAmount相加
HashMap<String,DataReport> tempMap = new HashMap<String,DataReport>();
//去掉重复的key
for(DataReport dataReport:List){
String temp = dataReport.getModular();
if(tempMap.containsKey(temp)){
DataReport newDataReport= new DataReport();
newDataReport.setModular(temp);
//合并相同key的value
newDataReport.setOrderAmount(tempMap.get(temp).getOrderAmount()+dataReport.getOrderAmount());
//HashMap不允许key重复,当有key重复时,前面key对应的value值会被覆盖
tempMap.put(temp,newDataReport);
}
else{
tempMap.put(temp,dataReport);
}
}
//去除重复key的list
List<DataReport> newList = new ArrayList<DataReport>();
for(String temp:tempMap.keySet()){
newList.add(tempMap.get(temp));
}
return newList;