集合对象容量初始值设置

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

猜你喜欢

转载自www.cnblogs.com/mrhgw/p/12198156.html