HashMap之扩容机制
1个回答
展开全部
首先要了解HashMap的扩容过程,我们就得了解一些HashMap中的变量:
何时进行扩容?
HashMap使用的是懒加载,构造完HashMap对象后,只要不进行put 方法插入元素之前,HashMap并不会去初始化或者扩容table。
当首次调用put方法时,HashMap会发现table为空然后调用resize方法进行初始化
,当添加完元素后,如果HashMap发现size(元素总数)大于threshold(阈值),则会调用resize方法进行扩容
扩容过程:
因此,table中的元素只有两种情况:
元素hash值第N+1位为0:不需要进行位置调整
元素hash值第N+1位为1:调整至原索引的两倍位置
扩容或初始化完成后,resize方法返回新的table
参考:
Java HashMap的扩容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
泰科博思
2024-12-27 广告
2024-12-27 广告
CASTEP是一款基于第一性原理计算方法的材料模拟软件,其优势包括:1.高精度。CASTEP使用密度泛函理论(DFT)进行第一性原理计算。这种基于波函数的方法不依赖于实验数据,可以获得非常高的准确性。2.广泛适用性。CASTEP适用于多种材...
点击进入详情页
本回答由泰科博思提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询