Каков наилучший способ объединить две Карты в одну Guava MultiMap в Java?
Например:
- Map1 содержит (1, a) и (2, b)
- Map2 содержит (2, c) и (3, d)
Тогда полученная объединенная мультикарта будет содержать
- (1, {a}), (2, {b, c}) и (3, {d})
Это мое текущее решение:
Multimap<T, K> combineMaps(Map<T, K> map1, Map<T, K> map2) {
Multimap<T, K> multimap = new MultiMap();
for (final Map.Entry<T, K> entry : map1.entrySet()) {
multimap.put(entry.getKey(), entry.getValue());
}
for (final Map.Entry<T, K> entry : map2.entrySet()) {
multimap.put(entry.getKey(), entry.getValue());
}
return multimap;
}