我读到HashTable可以将相同的键映射到多个值。那就是碰撞。

现在,我像这样运行程序:

Dictionary<String,String> hTable = new Hashtable<String,String>();
hTable.put("a", "aa");
hTable.put("a", "ab");
System.out.println(""+hTable.get("a"));


我的想法是说我应该得到aaab

但是实际输出是ab

为什么会这样呢?那么碰撞在哪里?

最佳答案

没有碰撞。 HashTable条目将一个键仅映射到一个值。

样本中的第三行:

hTable.put("a", "ab");


aaa的映射替换从aab的映射。

完成四行代码后,hTable只有一个映射:aab

10-08 18:20