HashMap初始化参数(负载/初始容量)

我应该传递什么值来为N个项目创建有效的HashMap/ HashMap基于结构的结构?

在中ArrayList,有效数字为N(N已假定未来增长)。a的参数应该是什么HashMap?((int)(N *

0.75d),0.75d)?更多?减?更改负载系数有什么影响?

回答:

关于负载因子,我将简单引用HashMap

javadoc:

通常,默认负载因子(.75)在时间和空间成本之间提供了很好的折衷。较高的值会减少空间开销,但会增加查找成本(在HashMap类的大多数操作中都得到体现,包括get和put)。设置其初始容量时,应考虑映射中的预期条目数及其负载因子,以最大程度地减少重新哈希操作的次数。如果初始容量大于最大条目数除以负载因子,则将不会进行任何哈希操作。

意思是.75,除非您要进行一些特定的优化,否则不应将的负载系数从更改。初始容量是您要更改的唯一内容,并根据您的N值(即(N / 0.75) +

1,或该区域中的值)进行设置。这将确保该表将始终足够大,并且不会发生任何重新哈希。

以上是 HashMap初始化参数(负载/初始容量) 的全部内容, 来源链接: utcz.com/qa/402837.html

回到顶部