【问题标题】:How to Update value in MultiValueMap for a specific key如何更新 MultiValueMap 中特定键的值
【发布时间】:2013-08-19 13:54:37
【问题描述】:

我有一个像这样的 MultiValueMap

{3=[c-2, c-2], 2=[b-1, b-1], 1=[a-1, a-2, a-3]}

有一次我必须更新特定键的单个值 例如我必须更新密钥2

2=[u-1,u-2]

我该怎么做?

【问题讨论】:

    标签: java map apache-commons-collection


    【解决方案1】:

    我从未使用过该库 - 但我希望这两个示例能够满足您的需求:

    multiMap.getCollection(2).clear();
    multiMap.putAll(2, Arrays.asList("u-1", "u-2"));
    

    或者

    Collection c = multiMap.getCollection(2);
    c.clear();
    Collections.addAll(c, "u-1", "u-2");
    

    【讨论】:

      【解决方案2】:

      最安全的方法是调用getCollection() 检索当前映射,调用remove(key) 清除该映射,迭代检索到的集合以重新插入要保留的值,和/或添加新值。

      如果您知道用于映射的集合类型(因为您调用了采用collectionFactory 的构造函数),您可以获取该集合并直接更新它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-01
        • 1970-01-01
        • 2021-09-15
        相关资源
        最近更新 更多