将List集合中相同属性的对象合并

List<User> userList= new ArrayList<>();
List<User> userMergeList= new ArrayList<>();
userList.parallelStream().collect(Collectors.groupingBy(o -> (o.getUserId() + o.getUserName()), Collectors.toList())).forEach((id, transfer) -> {
transfer.stream().reduce((a, b) -> new User(a,b)).ifPresent(userMergeList::add);
});
public User(User user1, User user2){
    this.userName = user1.userName();
    this.score = user1.getScore().add(user2.getScore());
}

 

posted @ 2023-04-03 09:09  酷盖的小机灵  阅读(318)  评论(0编辑  收藏  举报