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

相关推荐
‍。。。3 小时前
ubuntu 安装 vllm
linux·运维·ubuntu
xiao-xiang3 小时前
zookeeper-集群扩缩容
linux·分布式·zookeeper·中间件·注册中心·zk
zzz100664 小时前
Shell 编程基础(续):流程控制与实践
linux·运维·服务器
蒲公英的孩子4 小时前
Linux下OpenRadioss源码编译安装及使用
linux·分布式·开源软件
三坛海会大神5555 小时前
《Shell 大道:筑基篇(下)—— 流控筑根基,数据任驱驰》
linux·运维·服务器·bash
宇宙的有趣8 小时前
Fedora SSH 连接时智能防止系统挂起
linux
zml_20159 小时前
docker 1分钟 快速搭建 redis 哨兵集群
linux·redis·docker·docker-compose
半梦半醒*10 小时前
playbook剧本
linux·运维·服务器·ssh·ansible·运维开发
Ronin30512 小时前
【Linux系统】线程控制
linux·线程·线程控制
宇龙神13 小时前
Linux中的IP命令详解
linux