带有简单问题的哈希表新手。由于某种原因谷歌搜索没有给我一个直接的答案。假设我已经设置了<int,String>
哈希表:
myHashtable.put(1,"bird");
myHashtable.put(2,"iguana");
我希望将“bird”改为“fish”(并使索引保持不变)。我可以做一个简单的put
,还是需要删除条目,或者什么?
答案 0 :(得分:75)
是
如果已存在到指定键的映射,则将替换(并返回)旧值。请参阅Hashtable.put()
。
对于多线程环境,我建议ConcurrentHashMap
或其他ConcurrentMap
实施。虽然Hashtable
已同步,但现在有更复杂的实现可用于并发映射,例如Guava的MapMaker
和CacheBuilder
。
另请注意,Map
将具有类型参数<Integer, String>
,因为不支持基本类型参数。
答案 1 :(得分:4)
myHashtable.put(1,"fish");
请参阅此链接:http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html#put(K, V)
Returns:
the previous value of the specified key in this hashtable, or null if it did not have one