Если карта и списки не модифицируются после создания экземпляра, с Java 9 вы можете сделать:
Map<Integer, List<Integer>> map = Map.of(1, List.of(2, 3),
2, List.of(3, 5));
Если Карта и списки модифицируемы, вы можете следовать подходу Федерико Перальта Шаффнера и сделать его немного более удобным для пользователя, извлекая метод с помощью var-args:
void fill(Map<Integer, List<Integer>> map, Integer key, Integer... values) {
map.computeIfAbsent(key, k -> new ArrayList<>())
.addAll(Arrays.asList(values));
}
Теперь вы можете легко использовать его:
Map<Integer, List<Integer>> map = new HashMap<>();
fill(map, 1, 2, 3);
fill(map, 2, 4, 6);
fill(map, 2, 1);
Осторожно, передача ссылки null
в var-args вызовет NullPointerException
в Arrays.asList(values)
.