//处理相同的套餐就整合在一起然后把价格加起来
Map<String,OrderItem> hashMap = new HashMap<String, OrderItem>();
for (OrderItem orderItem : orderItemList) {
//如果套餐名为空就不用加进去了
if (orderItem.getpItemName()!=null || !"".equals(orderItem.getpItemName())) {
//map里面相同的套餐名就把里面的价格就相加
if (hashMap.containsKey(orderItem.getpItemName())) {
double price = Double.parseDouble(orderItem.getPrice());
price+= Double.parseDouble(hashMap.get(orderItem.getpItemName()).getPrice());
hashMap.get(orderItem.getpItemName()).setPrice(String.valueOf(price));
} else {
hashMap.put(orderItem.getpItemName(), orderItem);
}
}
}
//保存在list里
List<OrderItem> oiList = new ArrayList<OrderItem>();
for(OrderItem o:hashMap.values()){
oiList.add(o);
}
该博客介绍了如何使用Java处理相同套餐名的订单项,通过HashMap存储并累加价格。遍历订单列表,检查套餐名是否为空,如果非空且HashMap中已存在相同套餐名,则累加价格;否则将新套餐加入HashMap。最后将处理后的订单项保存到新的列表中。
9303

被折叠的 条评论
为什么被折叠?



