根据List对象列表相同的对象id,合并同一属性
List中有id相同的对象,id相同的进行去重并且OrderAmount字段相加
HashMap<String, DataReport> tempMap = new HashMap<String, DataReport>();
for (DataReport dataReport : list) {
String temp = dataReport.getId();
if (tempMap.containsKey(temp)){
DataReport newDataReport = new DataReport();
newDataReport.setId(temp);
newDataReport.setOrderAmount(tempMap.get(temp).getOrderAmount() + dataReport.getOrderAmount());
tempMap.put(temp,newDataReport);
}else {
tempMap.put(temp,dataReport);
}
}
List<DataReport> newList = new ArrayList<DataReport>();
for(String temp:tempMap.keySet()){
newList.add(tempMap.get(temp));
}
return newList;