java是否“放置”覆盖现有值?
一个简单的问题是哈希表的新手。出于某种原因,谷歌搜索并没有给我一个直接的答案。假设我已经设置了一个<int,String>
哈希表:
myHashtable.put(1,"bird");
myHashtable.put(2,"iguana");
我想把“bird”改为“fish”(并保持索引不变)。我可以只做一个简单的put
,或者我需要删除条目,或者做什么
你可以在下面搜索框中键入要查询的问题!
一个简单的问题是哈希表的新手。出于某种原因,谷歌搜索并没有给我一个直接的答案。假设我已经设置了一个<int,String>
哈希表:
myHashtable.put(1,"bird");
myHashtable.put(2,"iguana");
我想把“bird”改为“fish”(并保持索引不变)。我可以只做一个简单的put
,或者我需要删除条目,或者做什么
# 1 楼答案
对
如果已存在到指定键的映射,则将替换(并返回)旧值。见^{}
对于多线程环境,我建议使用^{} 或其他} 和^{}
ConcurrentMap
实现。虽然Hashtable
是同步的,但是现在有更复杂的并发映射实现,比如Guava的^{还要记住
Map
将具有类型参数<Integer, String>
,因为不支持原语类型参数# 2 楼答案
嗯,只需添加一行
myHashtable.put(1,"fish");
看看发生了什么令人惊奇的事情
请参阅以下链接:http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html#put(K, V)