重复 id 对应的多个对象

三、备选方案:Apache Commons MultiValuedMap(兼容 Spring Boot 3)

若项目已使用 Apache Commons Collections(Spring Boot 3 兼容 4.4 + 版本),可选择此方案,同样安全稳定。

步骤 1:引入依赖

xml

复制代码
<!-- Spring Boot 3兼容的Apache Commons版本 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>
步骤 2:核心代码

java

运行

复制代码
import org.apache.commons.collections4.MultiValuedMap;
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.springframework.stereotype.Component;
import java.util.List;

@Component
public class CommonsMultiValueMapContainer<T> {
    private final MultiValuedMap<Long, T> multiValueMap = new ArrayListValuedHashMap<>();

    public synchronized void addObject(Long id, T obj) {
        multiValueMap.put(id, obj);
    }

    public List<T> getObjectsById(Long id) {
        return List.copyOf(multiValueMap.get(id));
    }
}
相关推荐
qq_570398578 小时前
Three.js基础使用-案例
开发语言·javascript·ecmascript
Suxing98 小时前
C语言基础分享:C语言文件操作:从“写日记”到“拍电影”的存盘指南
c语言·开发语言
2601_962099088 小时前
python flask sqlalchemy连接数据库流程介绍
数据库·python·flask·教程·sqlalchemy
右耳朵猫AI8 小时前
Node.js周刊2026W36 | NestJS 12发布、Remix 3 RC、pnpm 12 Rust重写、Node.js 26.8.0
开发语言·rust·node.js
2601_962293248 小时前
python接口自动化(二十八)--html测试 报告——下(详解)
python·接口自动化·编码问题·htmltestrunner·报告优化
烂蜻蜓9 小时前
Flask入门教程(附录):模板渲染API——Jinja2集成全解析
后端·python·flask
2601_962387829 小时前
Python CUDA 编程 - 2 - Numba 简介
python·numpy·cuda·jit编译器·numba
统计学小王子9 小时前
数学建模国赛倒计时 2 天 ——《异常值的处理(R语言)》
开发语言·数学建模·r语言
z落落12 小时前
C# WinForm Socket 转串口设备服务器+Modbus CRC16校验+Socket 客户端
服务器·开发语言·c#
智能体与具身智能17 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能