@tskuzzy和@彼得的回答這裏輕微即興創作。通過擴展HashMap
來定義您自己的StrangeHashMap
。
public class StrangeHashMap extends HashMap<String, String> {
@Override
public String put(String key, String value) {
if(this.containsKey(key)) {
return super.put(key, super.get(key) + value);
} else {
return super.put(key, value);
}
}
}
你可以使用它作爲這樣:
Map<String, String> map1 = new HashMap<String, String>();
map1.put("key1", "Value1");
map1.put("key2", "Value2");
Map<String, String> map2 = new HashMap<String, String>();
map2.put("key1", "Value2");
map2.put("key3", "Value3");
Map<String, String> all = new StrangeHashMap();
all.putAll(map1);
all.putAll(map2);
System.out.println(all);
上面印下了我:
{key3=Value3, key2=Value2, key1=Value1Value2}
你的鑰匙是什麼?你的價值是什麼? –
呃...你希望'hashMap.get(key)'在合併之後返回什麼? –
哈希映射不支持重複鍵。所以它會用新鍵覆蓋更早的鍵。 – Santosh