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

相关推荐
tyn18841 分钟前
记录一次conda虚拟环境pip安装报错[WinError 32] 另一个程序正在使用此文件,进程无法访问
windows·conda·pip·虚拟环境·虚环境
欧先生^_^2 小时前
Linux内核可配置的参数
linux·服务器·数据库
海尔辛3 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
王RuaRua4 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
曼岛_4 小时前
[架构之美]linux常见故障问题解决方案(十九)
linux·运维·架构
tan180°4 小时前
Linux进程信号处理(26)
linux·c++·vscode·后端·信号处理
大神的风范4 小时前
从0开始学linux韦东山教程第三章问题小结(4)
linux·服务器
sz66cm4 小时前
Linux基础 -- SSH 流式烧录与压缩传输笔记
linux·笔记·ssh
寒小松5 小时前
Problem E: List练习
java·数据结构·list
YOYO--小天5 小时前
RS485和RS232 通信配置
linux·嵌入式硬件