【发布时间】:2013-03-16 22:30:09
【问题描述】:
我已经阅读了很多关于这些的内容,但在一个方面仍然很困惑。 HashMaps 接受 K,V 对。为什么需要这样做?
例如,我想在 HashMap myMap 中添加“abracadabra”。
不就是用String.hashCode()函数作为key,然后用“abracadabra”作为value吗?
然后,如果我试图查找“abracadabra”是否存在,它将检查该 hashCode 的“桶”是否为非空,如果它遍历该“桶”中的所有内容(最坏的情况是 O(n )...但实际上并非如此)。所以我要说的是对象 .hashCode() 函数不是键,对象是哈希码吗?为什么需要声明一个显式的 Key?
K,V 对的目的是什么?我已经多次向我解释了这一点,并阅读了多篇文章/示例/等。我仍然无法通过我厚厚的头骨。
【问题讨论】:
-
您不能将“abracadabra”添加到您的地图中。您只能添加键 (K) / 值 (V) 对。
-
你想建立一些其他的数据结构来存储键值对吗?
标签: java hashmap key key-value