【问题标题】:Can there be entries in the hash table with the same key and same value?哈希表中是否可以存在具有相同键和相同值的条目?
【发布时间】:2018-06-04 07:10:49
【问题描述】:

我最近遇到了 hashmap。我真的很想知道这些关于哈希表的事情。我希望这个社区可以帮助我!

哈希表中是否可以存在具有相同键的条目?我认为没有。

哈希表中是否可以存在具有相同值的条目?我认为是的,因为碰撞是哈希表中的事情。

哈希表中是否存在具有相同键的条目 和相同的价值?我不知道,也许是的?

【问题讨论】:

  • 根据定义,哈希表的每个键下只能有一个值。如果两个条目具有相同的哈希,那将是哈希冲突,并且需要解决冲突的策略。
  • 不,键必须是唯一的。但是,可以有多个具有相同值的条目。但这不是碰撞。碰撞就像 Dan Farrell 告诉你的那样。我建议您阅读有关哈希表的信息,即here

标签: hash hashmap hashtable


【解决方案1】:

键必须是唯一的,而值不需要是唯一的。如果哈希表中已经有一个使用相同键的条目,它将抛出一个ArgumentException。如果需要,您可以使用ContainsKey 方法检查键是否已经存在,然后再添加新值。

【讨论】:

  • 那有点像门?两扇门可能看起来一样,但每扇门的钥匙一定不同?
  • 如果你想用这个比喻,我想说每扇门都有自己独特的钥匙。门后的房间不需要是独一无二的。几扇门可以通向相同的房间,甚至可以通向完全相同的房间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-04
  • 2018-11-13
  • 1970-01-01
  • 2019-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多