我读到HashTable可以将相同的键映射到多个值。那就是碰撞。
现在,我像这样运行程序:
Dictionary<String,String> hTable = new Hashtable<String,String>();
hTable.put("a", "aa");
hTable.put("a", "ab");
System.out.println(""+hTable.get("a"));
我的想法是说我应该得到
aa
和ab
。但是实际输出是
ab
为什么会这样呢?那么碰撞在哪里?
最佳答案
没有碰撞。 HashTable条目将一个键仅映射到一个值。
样本中的第三行:
hTable.put("a", "ab");
用
a
到aa
的映射替换从a
到ab
的映射。完成四行代码后,
hTable
只有一个映射:a
到ab
。