İki haritayı Java'da tek bir Guava MultiMap ile birleştirmenin en iyi yolu nedir? Örneğinİki haritayı bir MultiMap ile birleştirin
:
- MAP1, (1 a) ve (2, b)
- MAP2 sonra, (2, c) ve (3, d)
içerir
- (1, {a}) ihtiva edecektir elde edilen birleşik Multimap (2, {b, c}), ve (3, {D})
Bu benim şimdiki çözüm:
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;
}
Eh, genellikle _best_ yolu yoktur ve yol bana göre mantıklı geliyor. Bununla ilgili herhangi bir problemin var mı? Değilse, ben sadece onunla devam ediyorum (jenerikleri yeni MultiMap() 'e de eklemek istiyorum). – Thomas