具有单独链接的哈希图

Lor*_*ias 2 java hashtable hashmap data-structures

是否有 java Map 接口的实现,它利用单独的链接作为冲突解决方案。通过阅读 HashMap 和 HashTable 的 javadoc,我得出的结论是,实现所做的基本上是替换值,并且基本上不使用任何冲突解决方案?

JB *_*zet 5

你弄错了:它为每个存储桶使用一个条目的链接列表。

将值放入映射时,映射首先调用hashCode键,然后转换此哈希码,使其介于 0 和存储桶数之间。如果存储桶为空,则密钥存储在此存储桶中。如果不是,则将此存储桶中的每个键与带有 的新键进行比较equals。如果一相等,则其值被新值替换。否则,带有新键的新条目将添加到存储桶的条目列表中。

如果要为给定键存储多个值,请使用 a Map<Key, List<Value>>,或使用 Guava 的MultiMap