我是靠谱客的博主 飘逸早晨,最近开发中收集的这篇文章主要介绍java List<Object>里边的对象仅仅有数量不同时,去重,并把相同对象数量相加,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

加粗的地方修改为自己的对象即可

/**
     * 将id进行合并nums, sums 相加道回合并后的集合使用Java8的流进行处理
     */
    @Async
    public  List<**ProductingVo**> merge(List<**ProductingVo**> list) {
        List<**ProductingVo**> result = list.stream()
                // 表示id为key, 接着如果有重复的,那么从ProductingVo对象o1与o2中筛选出一个,这里选择o1,
                // 并把id重复,需要将nums和sums与o1进行合并的o2, 赋值给o1,最后返回o1
                .collect(Collectors.toMap(**ProductingVo**::getCode, a -> a, (o1,o2)-> {
                    o1.setNum(o1.getNum() + o2.getNum());
                    return o1;
                })).values().stream().collect(Collectors.toList());
        return result ;
    }

没有使用该方法,输出的是181条数据
在这里插入图片描述
使用后:剩余154条
在这里插入图片描述

最后

以上就是飘逸早晨为你收集整理的java List<Object>里边的对象仅仅有数量不同时,去重,并把相同对象数量相加的全部内容,希望文章能够帮你解决java List<Object>里边的对象仅仅有数量不同时,去重,并把相同对象数量相加所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部