Если вы используете java 8 или выше, вы можете использовать compute
или computeIfPresent
. Например:
Map<String, List<String>> test = new HashMap<>();
test.put("1", Arrays.asList("a", "b", "c"));
test.put("2", Arrays.asList("a", "b", "c"));
System.out.println(test); // prints {1=[a, b, c], 2=[a, b, c]}
test.computeIfPresent("1", (k, v) -> {
v.set(2, "changed");
return v;
});
System.out.println(test); // prints {1=[a, b, changed], 2=[a, b, c]}
Если вы используете любую старую версию java, я предлагаю использовать метод util.