list集合根据相同字段合并数据

List<User>中,User有id和money两个字段,如果id相同,就把User合并,并且将money相加,java怎么处理??

方法一:
假如 id 是 String类型

User tmpUser = null;
Map<String, User> map = new HashMap<String, User>();//合并后的User存在map中
for(User oUser userList) {
     tmpUser = map.get(oUser.getId());
     if (tmpUser != null) {
             tmpUser.setMoney(tmpUser.getMoney() + oUser.getMoney);  //money合并
     } else {
          map.put(oUser.getId(), oUser);
    }
}

方法二:

1.查询数据采用ORDER BY 关键字 对ID排序

2.在业务逻辑比对id相同即可
 

猜你喜欢

转载自blog.csdn.net/SHYLOGO/article/details/100160806