码迷,mamicode.com
首页 > 其他好文 > 详细

Collection和Map的默认扩容参数

时间:2017-10-14 18:19:09      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:eem   span   collect   一个   array   treemap   link   加载   哈希   

初始大小:调用无参构造函数时默认的容量

加载因子:超过 (当前容量*加载因子) 时会进行扩容
扩容因子:扩容时增加的容量为 (当前容量*扩容因子)
 
     容器         初始容量    加载因子   扩容因子
ArrayList:    10                  1             0.5
HashMap:     16                0.75            1
HashSet: 同HashMap
 
一般而言, 以哈希表 (链表+数组) 作为底层数据结构的容器, 当元素超过加载因子时会进行扩容,如HashMap,HashSet
以数组作为底层数据结构的容器, 当元素超过数组大小时会进行扩容,如ArrayList
以链表作为底层数据结构的容器, 容量没有限制, 不会进行扩容,如LinkedList,TreeMap
 
扩容比较消耗性能,在能预料到数据量大小时, 应给定稍大于预期数据量的初始容量参数.
ArrayList可接受一个int参数作为初始容量.
HashMap可接受一个int参数作为初始容量和一个float参数作为扩容参数.
HashSet同HashMap
转载:http://blog.163.com/xiong_jinhua/blog/static/236171063201610141612487/

Collection和Map的默认扩容参数

标签:eem   span   collect   一个   array   treemap   link   加载   哈希   

原文地址:http://www.cnblogs.com/misshello/p/7667738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!