100%准确的键,值HashMap

时间:2012-06-30 05:30:18

标签: java hashmap key-value

根据网页http://www.javamex.com/tutorials/collections/hash_codes_advanced.shtml

  

哈希码不唯一地标识对象。它们只是缩小了匹配项的选择范围,但预计在正常使用中,几个对象很可能共享相同的哈希码。在地图或集合中查找密钥时,必须比较实际密钥对象的字段以确认匹配。“

首先这是否意味着有地图中使用的键也可能指向多个值?我认为确实如此。

如果是这种情况。如何创建“始终准确”的hashmap或类似的键值对象?

我的密钥需要是String,我的值也需要是String ..我需要大约4,000到10,000个键值对..

2 个答案:

答案 0 :(得分:3)

标准hashmap将保证唯一键。哈希码不等同于密钥。它只是一种快速将可能值集减少到具有特定哈希码的对象(在您的情况下为字符串)的方法。

答案 1 :(得分:3)

首先,请注意:Java的HashMaps有效。假设哈希函数正确实现,您将始终获得相同密钥的相同值。

现在,在哈希映射中,密钥的哈希码确定将放置值的存储桶(如果您不熟悉该术语,请阅读哈希表)。映射的性能取决于散列码的分布情况,以及每个桶中值的平衡程度。由于您使用的是String,请放心。 HashMap将“始终准确”。