hashmap数组默认长度
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
hashmap数组默认长度
HashMap数组默认长度为16。
在Java中,HashMap是一种基于
哈希表实现的映射接口。
哈希表本质上是一个数组,每个数组元素都是一个链表,链表中存储着键值对。
当需要存储一个键值对时,首先根据键的哈希值计算出数组中的位置,如果该位置还没有元素,则直接将键值对存储在该位置上;如果该位置已经有元素,则需要遍历该位置上的链表,找到键值对的位置。
为了尽量避免哈希冲突,即不同的键计算出的哈希值相同的情况,HashMap会根据数组长度对键的哈希值进行取模运算,从而得到一个在数组范围内的位置。
默认情况下,数组长度为16,这意味着HashMap 可以存储最多16个键值对。
如果存储的键值对数量超过了数组长度
的75%,那么数组会自动扩容为原来的两倍,重新计算每个键值对的位置。
需要注意的是,如果在构造HashMap对象时指定了数组长度,那么会使用指定的长度而不是默认长度。
通常情况下,如果能够预估存储的键值对数量,最好在构造HashMap对象时指定数组长度,这样可以避免自动扩容带来的性能损失。
- 1 -。