当前位置: 首页 > news >正文

Java List中对象根据id去重,并处理重复对象的某个字段

List中对象根据id去重

  • 一、需求
  • 二、解决

一、需求

参考文章:https://blog.csdn.net/A_Gui_Code/article/details/106978867

对在list集合中对象根据主键id去重,同时需要对重复对象的某个字段进行单独处理。
例如,对象包含字段如下, 当某个对象重复时,需要重新修改此对象的association值:

      private Long id;private String uuid;private String name;private String association;

二、解决

    /*** supplierVOs对象列表合并去重* @param supplierVOs  需要去重的对象集合* @return 返回处理完毕的对象集合*/private List<SupplierVO> mergeSupplierVOs(List<SupplierVO> supplierVOs){return new ArrayList<>(supplierVOs.stream()// 表示id为key, 接着如果有重复的,那么从SupplierVO对象o1与o2中筛选出一个,这里选择o1,.collect(Collectors.toMap(SupplierVO::getId, a -> a, (o1, o2) -> {// 把id重复,需要将association字段值与o1进行拼接的o2, 赋值给o1,最后返回o1o1.setAssociation(o2.getAssociation() + o1.getAssociation());return o1;})).values());}
http://www.lryc.cn/news/294354.html

相关文章:

  • 小周学JAVA—八股六
  • 【深度学习】从0完整讲透深度学习第2篇:TensorFlow介绍和基本操作(代码文档已分享)
  • 题目: 有1234个数字, 组成多个互不相同且无重复数字的三位数? 都是多少?
  • 由亚马逊云科技 Graviton4 驱动的全新内存优化型实例 Amazon EC2 实例(R8g),现已开放预览
  • sqlserver alwayson部署文档手册
  • 【FFmpeg】ffplay 命令行参数 ① ( 设置播放分辨率 | 禁用 音频 / 视频 / 字幕 选项 )
  • CSS写渐变边框线条
  • 【Linux网络编程三】Udp套接字编程网络应用场景
  • 计算机网络实验二
  • PS一键磨皮插件Delicious Retouch for mac中文 支持PS2024
  • 信息安全管理措施
  • 『运维备忘录』之 Vim 命令详解
  • Gcc多版本安装和切换
  • 【python】OpenCV—Tracking(10.1)
  • 计算机网络(复习资料)
  • AIGC技术讲解以及应用的落地
  • Unity_ShaderGraph示例项目启动
  • 【Eclipse平台】1Eclipse平台总体概览
  • Dijkstra求最短路 I
  • 复习单向,双向链表,并且实现两种链表的增加和删除功能。
  • 【webpack】技巧使用
  • windows 谷歌浏览器Chrome 怎么禁止更新
  • 力扣(leetcode)第349题两个数组的交集(Python)
  • python Flask 写一个简易的 web 端程序(附demo)
  • mysql问题
  • iframe通信,window.postMessage父子项目数据通信
  • ES6中新增Array.from()函数的用法详解
  • Camera2+OpenGL ES+MediaCodec+AudioRecord实现录制音视频写入H264 SEI数据
  • C语言笔试题之反转链表(头插法)
  • WEB3:互联网发展的新时代