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());

相关推荐
江畔何人初4 小时前
iptables 和 IPVS 代理模式 Service 的区别
linux·运维·服务器·网络·云原生·kubernetes·代理模式
123过去7 小时前
nfc-list使用教程
linux·网络·测试工具·安全
桌面运维家8 小时前
Windows权限管理进阶:UAC配置与安全策略实战
windows
evo-master8 小时前
网络故障排除方法
linux·服务器·网络
paeamecium10 小时前
【PAT甲级真题】- Student List for Course (25)
数据结构·c++·算法·list·pat考试
xlq2232212 小时前
35.信号
linux
白鸽梦游指南12 小时前
docker镜像优化
linux·运维·docker
A.A呐12 小时前
【Linux第十九章】网络基础
linux·网络
桌面运维家12 小时前
BGP路由优化实战:加速收敛,提升网络稳定性
网络·windows·php
陳103012 小时前
Linux:基础开发工具
linux·运维·服务器