标签: java hashmap hashtable hashset hashcode
HashSet中LinkedList的最大大小是多少,达到最大大小(如果有)时会发生什么?如果所有n个输入元素都具有将哈希值存储在哈希图的同一节点数组中的哈希码。也就是说,如果由于特定的输入而使存储区0继续增长而其余存储区未填充,会发生什么情况?是在这种情况下进行了哈希处理吗?还是有避免该问题的特定方法?
答案 0 :(得分:1)
该策略在某种程度上是特定于实现的,但是通常,当HashMap(和HashSet基于该策略)达到64个条目 overall 和单个存储桶中的8个条目时,它将被转换为Tree。在resize发生之前,如果将存储桶的大小加倍,则要考虑将条目放置在何处的额外位-这称为rehash-这样做是为了尝试移动条目到不同的桶。
HashMap
HashSet
Tree
resize
rehash
有关某些实现的详细信息,请参见this和this。