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

相关推荐
t***31655 分钟前
MySQL5.7.44-winx64版本Windows Server下载安装教程图解
windows·adb
Zeku8 分钟前
20251125 - 为什么Linux是非实时操作系统?
linux·服务器
sz66cm8 分钟前
Linux基础 -- 进程运行状态 之 fatal_signal_pending函数
linux
Kyan.W14 分钟前
shell好用的工具
linux·shell
n***840717 分钟前
Redis基础——1、Linux下安装Redis(超详细)
linux·数据库·redis
apocelipes21 分钟前
Linux的binfmt_misc机制
linux·c语言·c++·python·golang·linux编程·开发工具和环境
中工钱袋24 分钟前
Java Stream 流详解
java·windows·python
虾..25 分钟前
Linux 进程控制
linux·运维·服务器
last demo30 分钟前
pxe自动化安装系统实验
linux·运维·服务器·自动化
love530love41 分钟前
【笔记】重建 Stable Diffusion WebUI 虚拟环境实录
人工智能·windows·笔记·python·stable diffusion·aigc·虚拟环境