Lor*_*ias 2 java hashtable hashmap data-structures
是否有 java Map 接口的实现,它利用单独的链接作为冲突解决方案。通过阅读 HashMap 和 HashTable 的 javadoc,我得出的结论是,实现所做的基本上是替换值,并且基本上不使用任何冲突解决方案?
JB *_*zet 5
你弄错了:它为每个存储桶使用一个条目的链接列表。
将值放入映射时,映射首先调用hashCode键,然后转换此哈希码,使其介于 0 和存储桶数之间。如果存储桶为空,则密钥存储在此存储桶中。如果不是,则将此存储桶中的每个键与带有 的新键进行比较equals。如果一相等,则其值被新值替换。否则,带有新键的新条目将添加到存储桶的条目列表中。
hashCode
equals
如果要为给定键存储多个值,请使用 a Map<Key, List<Value>>,或使用 Guava 的MultiMap。
Map<Key, List<Value>>
归档时间:
13 年,11 月 前
查看次数:
5254 次
最近记录: