重复 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));
    }
}
相关推荐
aqi002 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵4 小时前
用 Python 实现 Take-Away 游戏
python·游戏
copyer_xyf5 小时前
Agent 流程编排
后端·python·agent
copyer_xyf5 小时前
Agent RAG
后端·python·agent
copyer_xyf5 小时前
【RAG】向量数据库:milvus
后端·python·agent
copyer_xyf5 小时前
Agent 记忆管理
后端·python·agent
星云穿梭20 小时前
用Python写一个带图形界面的学生管理系统——完整教程
python
金銀銅鐵21 小时前
用 Pygame 实现 15 puzzle
python·数学·游戏
黄忠1 天前
大模型之LangGraph技术体系
python·llm