集合对象容量初始值设置
Posted mrhgw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合对象容量初始值设置相关的知识,希望对你有一定的参考价值。
ArrayList:
-------------------------------------
明确知道容量:直接设置初始容量,如new ArrayList<>(100)
无法确定容量:预估一个比较接近的值,如果实在不确定,则无需指定初始值 (有默认值)
HashMap
-------------------------------------
HashMap的默认加载因子为0.75,但可以使用构造器指定,如new HashMap<>(100, 1),此时指定加载因子为1
故计算HashMap的初始值时的工式为:(int) (realSize / loadFactor) + 1
如果实际容量为100,加载因子为默认(0.75),计算容量为:(int) (100 / 0.75) + 1 = 134,则实例化HashMap为 new HashMap<>(134)
如果实际容量为100,加载因子1,则计算工式为:(int) (100 / 0.75) + 1 = 101,则则实例化HashMap为 new HashMap<>(101, 1)
HashSet
-------------------------------------
同HashSet
以上是关于集合对象容量初始值设置的主要内容,如果未能解决你的问题,请参考以下文章