Redian新闻
>
如何实现hashMap里value的unique
avatar
如何实现hashMap里value的unique# JobHunting - 待字闺中
J*B
1
extendHashMap.put(k1,v1),如果extendHashMap 里已经有(k2,v1),就把(k2,v1)
覆盖掉?
avatar
L*Q
2
插入操作应该会先search,看插入的key是不是已经存在,如果不存在,就插入。如果
存在,那么可以有两种solution。第一,无法插入,函数返回值表明key已经存在。如
果用户的两次插入key一样,那么他的目的应该是update value。返回一个值告诉用户
,这个key已经存在,好处是避免误操作,让用户明确地调用update函数。第二,你说
的覆盖掉。
这是我推测的。如果是面试,我就把推测的实现讲一遍,分别给出两个solution的优缺
点。

【在 J**B 的大作中提到】
: extendHashMap.put(k1,v1),如果extendHashMap 里已经有(k2,v1),就把(k2,v1)
: 覆盖掉?

avatar
e*l
3
弄个key-value反转的HashMap(v,k)就行啦

【在 J**B 的大作中提到】
: extendHashMap.put(k1,v1),如果extendHashMap 里已经有(k2,v1),就把(k2,v1)
: 覆盖掉?

avatar
J*B
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)就行啦
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。