我们经常使用,然后put对象。
这样创建map对象后,map会自动初始化16的长度Entry数组存放对象,增长因子是0.75f。
有一种使用方法,就是我知道要放多少个(如20个)对象有人这么干:
map = new HashMap(20)
这样好吗?当我们存入15个对象后(20*0.75 = 15),map需要进行resize,容量扩展到40(20 * 2)。
所以正确的做法是:
map = new HashMap(20, 1.0f);
或map = HashMap(20 * 0.75);
这样保证map不会进行resize操作,此操作是map最大的损耗。
尤其对于使用map进行装载大量数据(如10W条),最好指定合理容量,减少不必要的resize。
对于只存放几个对象,不必指定任何参数。
没有评论:
发表评论