有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否“放置”覆盖现有值?

一个简单的问题是哈希表的新手。出于某种原因,谷歌搜索并没有给我一个直接的答案。假设我已经设置了一个<int,String>哈希表:

myHashtable.put(1,"bird");
myHashtable.put(2,"iguana");

我想把“bird”改为“fish”(并保持索引不变)。我可以只做一个简单的put,或者我需要删除条目,或者做什么


共 (2) 个答案

  1. # 1 楼答案

    如果已存在到指定键的映射,则将替换(并返回)旧值。见^{}

    对于多线程环境,我建议使用^{}或其他ConcurrentMap实现。虽然Hashtable是同步的,但是现在有更复杂的并发映射实现,比如Guava的^{}^{}

    还要记住Map将具有类型参数<Integer, String>,因为不支持原语类型参数