將兩個地圖合併到一個Java Java Guava MultiMap中的最佳方式是什麼?將兩個地圖合併爲一個MultiMap
例如:
- 地圖1包含(1,a)和(2,B)
- 地圖2含有(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;
}
那麼,經常沒有最好的方法,你的方式似乎對我來說很明智。你有這個問題嗎?如果不是的話,我會堅持下去(除了我會將泛型添加到'new MultiMap()':))。 – Thomas 2012-02-17 07:01:46