Как обновить значение в MultiValueMap для определенного ключа
У меня есть 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 ответа
Я никогда не использовал эту библиотеку - но я ожидаю, что эти два примера сделают то, что вам нужно:
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");
Самый безопасный способ - позвонить getCollection()
чтобы получить текущее отображение, remove(key)
чтобы очистить это сопоставление, выполните итерацию полученной коллекции, чтобы заново вставить значения, которые вы хотите сохранить, и / или добавить новые значения.
Если вы знаете тип коллекции, используемой для отображения (потому что вы вызвали конструктор, который принимает collectionFactory
), вы можете получить коллекцию и обновить ее напрямую.