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

相关推荐
我是唐青枫6 小时前
Linux ar 命令使用详解
linux·运维·服务器
mljy.6 小时前
Linux《进程概念(上)》
linux
IEVEl6 小时前
Centos7 开放端口号
linux·网络·centos
我要升天!7 小时前
Linux中《环境变量》详细介绍
linux·运维·chrome
MobiCetus7 小时前
有关pip与conda的介绍
linux·windows·python·ubuntu·金融·conda·pip
weixin_428498498 小时前
Linux系统perf命令使用介绍,如何用此命令进行程序热点诊断和性能优化
linux·运维·性能优化
ydm_ymz9 小时前
初阶8 list
c语言·开发语言·数据结构·c++·list
lemon31062410 小时前
dockerfile制作镜像
linux·运维·服务器·学习
易保山10 小时前
MIT6.S081 - Lab5 Lazy(延迟分配)
linux·操作系统·c
丑过三八线11 小时前
【Kafka】Kafka4.0在windows上启动
windows·分布式·kafka