J**B 发帖数: 204 | 1 extendHashMap.put(k1,v1),如果extendHashMap 里已经有(k2,v1),就把(k2,v1)
覆盖掉? | L***Q 发帖数: 508 | 2 插入操作应该会先search,看插入的key是不是已经存在,如果不存在,就插入。如果
存在,那么可以有两种solution。第一,无法插入,函数返回值表明key已经存在。如
果用户的两次插入key一样,那么他的目的应该是update value。返回一个值告诉用户
,这个key已经存在,好处是避免误操作,让用户明确地调用update函数。第二,你说
的覆盖掉。
这是我推测的。如果是面试,我就把推测的实现讲一遍,分别给出两个solution的优缺
点。
【在 J**B 的大作中提到】 : extendHashMap.put(k1,v1),如果extendHashMap 里已经有(k2,v1),就把(k2,v1) : 覆盖掉?
| e***l 发帖数: 710 | 3 弄个key-value反转的HashMap(v,k)就行啦
【在 J**B 的大作中提到】 : extendHashMap.put(k1,v1),如果extendHashMap 里已经有(k2,v1),就把(k2,v1) : 覆盖掉?
| J**B 发帖数: 204 | 4 是哦。
public V put(K key, V value) {
if(super.containsValue(value)){
super.values().remove(value);
}
super.put(key, value);
return value;
不知道考啥? 这两个performance 有差么?
【在 e***l 的大作中提到】 : 弄个key-value反转的HashMap(v,k)就行啦
|
|