List中多个数据相同,保留最新日期数据

一、将list按从小到大排序

复制代码
sapVos.sort((t1, t2) -> t1.getBdatu().compareTo(t2.getBdatu()));

二、基于 Map 的键覆盖机制

适用场景 ‌:需高效去重且无需复杂排序逻辑。

实现步骤‌:

  1. 定义唯一键‌:将多个属性拼接为唯一标识。
  2. 覆盖旧值‌:遍历时用新数据覆盖旧数据,天然保留最新记录‌

Map<String, Data> map = new HashMap<>();
for (Data data : dataList) {
String key = data.getField1() + "|" + data.getField2(); // 多属性生成键 ‌:ml-citation{ref="6" data="citationList"}
map.put(key, data); // 后插入的数据覆盖旧值 ‌:ml-citation{ref="6" data="citationList"}
}
List<Data> uniqueList = new ArrayList<>(map.values());

相关推荐
andlbds10 分钟前
解决Ubuntu20.04进入系统卡死在厂商Logo界面问题
linux·ubuntu
MIXLLRED14 分钟前
解决: Ubuntu 22.04上树莓派4B扩展板ROS2兼容性修复指南
linux·ubuntu·树莓派
zizle_lin17 分钟前
CentOS配置yum源
linux·运维·centos
AI行业学习29 分钟前
.NET Framework 3.5 SP1 完整离线包(2029.5.29)
开发语言·windows·.net
阿昭L39 分钟前
调试CreateProcess
windows·进程·逆向工程·windows内核
武器大师721 小时前
从零开始在 Linux 上编译运行 lvgljs 图形界面项目
linux·运维·服务器
剑神一笑1 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux·运维·服务器
似水এ᭄往昔1 小时前
【Linux网络编程】--计算机网络基础
linux·网络·计算机网络
leaves falling1 小时前
深入理解Linux进程控制:从fork到exec,手写一个迷你Shell
linux·运维·服务器
AI行业学习2 小时前
.NET Framework 3.5 官方离线包下载+完整安装教程【2026.5.29】
windows·.net·notepad++