0

我有一个 MultiValueMap

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

在某一时刻,我必须更新特定键的单个值,例如我必须更新键,2例如

2=[u-1,u-2]

我怎样才能做到这一点?

4

2 回答 2

0

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

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

于 2013-08-19T14:06:00.760 回答
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");
于 2013-08-19T14:04:13.837 回答