重复 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));
    }
}
相关推荐
敲代码的嘎仔9 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
江华森9 小时前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python
杜子不疼.9 小时前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式
开发语言·数据库·qt
VIP_CQCRE9 小时前
用 Ace Data Cloud 快速接入 OpenAI Chat Completions:对话、流式、多轮和多模态一篇打通
python·ai·openai·api·教程
老迟到的茉莉10 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python
学逆向的10 小时前
汇编——内存
开发语言·汇编·算法·网络安全
Day(AKA Elin)10 小时前
【Day】MTP(Multi Token Prediction)技术学习
python·深度学习·学习·llama
lbb 小魔仙10 小时前
MuMu 模拟器 6.0 硬核测评:这次升级确实不一样
java·开发语言·模拟器·mumu·硬核测评
r_oo_ki_e_11 小时前
Java 线程池
java·开发语言
杜子不疼.11 小时前
【Qt初识】信号槽(二):自定义信号函数与槽函数
开发语言·qt