如何在MultiValueMap中更新特定键的值

时间:2013-08-19 13:54:38

标签: java map apache-commons-collection

我有一个类似

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

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

2=[u-1,u-2]

我该怎么做?

2 个答案:

答案 0 :(得分:0)

我从未使用过该库 - 但我希望这两个例子可以满足您的需求:

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

答案 1 :(得分:0)

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

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