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

相关推荐
心灵宝贝19 分钟前
libopenssl-1_0_0-devel-1.0.2p RPM 包安装教程(openSUSE/SLES x86_64)
linux·服务器·数据库
BullSmall1 小时前
linux zgrep命令介绍
linux·运维
EnCi Zheng2 小时前
SpringBoot + PostgreSQL 密码认证失败 Windows 系统解决方案
windows·spring boot·postgresql
emma羊羊2 小时前
【文件读写】图片木马
linux·运维·服务器·网络安全·靶场
wdfk_prog2 小时前
闹钟定时器(Alarm Timer)初始化:构建可挂起的定时器基础框架
java·linux·数据库
2301_818411553 小时前
Ubuntu之apt更新源
linux·运维·ubuntu
Damon小智4 小时前
玩转CodeX:CodeX安装教程(Windows+Linux+MacOS)
linux·windows·macos·ai·ai编程·codex·gpt-5
CS Beginner4 小时前
【Linux】Mysql的基本文件组成和配置
linux·运维·mysql
用户31187945592184 小时前
DOpusInstall-13.2.exe 安装方法,简单几步完成
windows
爱奥尼欧5 小时前
【Linux】网络部分——Socket编程 UDP实现网络云服务器与本地虚拟机的基本通信
linux·服务器·网络