hashmap数组默认长度

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

hashmap数组默认长度
HashMap数组默认长度为16。

在Java中,HashMap是一种基于
哈希表实现的映射接口。

哈希表本质上是一个数组,每个数组元素都是一个链表,链表中存储着键值对。

当需要存储一个键值对时,首先根据键的哈希值计算出数组中的位置,如果该位置还没有元素,则直接将键值对存储在该位置上;如果该位置已经有元素,则需要遍历该位置上的链表,找到键值对的位置。

为了尽量避免哈希冲突,即不同的键计算出的哈希值相同的情况,HashMap会根据数组长度对键的哈希值进行取模运算,从而得到一个在数组范围内的位置。

默认情况下,数组长度为16,这意味着HashMap 可以存储最多16个键值对。

如果存储的键值对数量超过了数组长度
的75%,那么数组会自动扩容为原来的两倍,重新计算每个键值对的位置。

需要注意的是,如果在构造HashMap对象时指定了数组长度,那么会使用指定的长度而不是默认长度。

通常情况下,如果能够预估存储的键值对数量,最好在构造HashMap对象时指定数组长度,这样可以避免自动扩容带来的性能损失。

- 1 -。

相关文档
最新文档