我正在尝试解决一个仅用于研究数据结构的分析问题。我的疑问是 Java 中的 HashTable
。
我有一个 HashMap
HashMap<String, Integer> map = new HashMap<>();
这个 HashMap
的键更少,但是其中一些键是重复的。
map.put('k', 1);
map.put('k', 2);
等等...
我的问题是我什么时候要删除 HashMap 的键。其中一些键也是重复的。
让我们看看。
map.remove('k');
我想在这种情况下,它将删除带有键“k”的所有值,或者仅删除找到的第一个值。
这种情况下会发生什么?我有点困惑。
感谢您的帮助!!
最佳答案
在HashMap
(或HashTable
)中,您只能拥有唯一键,不能将不同的值分配给同一个键。在您的代码中,您尝试使用相同的键放置 2 个不同的值:
map.put('k', 1);
map.put('k', 2);
你猜怎么着,不会有 2 个条目,只有 1 个,即最后一个,它将替换前一个,因为它们具有相同的键 - 'k' 。因此,map.remove('k');
将删除所有内容,这只是一个条目,而不是两个。
关于java - 使用 HashMap 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49467456/