¿Cuál es la mejor manera de combinar dos mapas en un solo Guava MultiMap en Java?Combinar dos mapas en un MultiMap
Por ejemplo:
- Mapa 1 contiene (1, a) y (2, b)
- Map2 contiene (2, c) y (3, d)
Entonces el resultante multimap combinado contendría
- (1, {a}), (2, {b, c}), y (3, {d})
Ésta es mi solución actual:
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;
}
Bueno, a menudo no hay la mejor manera y su camino me parece sensato. ¿Tienes algún problema con esto? Si no, me quedaría con eso (excepto que agregaría los genéricos a 'nuevo MultiMap()' también :)). – Thomas