码迷,mamicode.com
首页 > 编程语言 > 详细

java中集合的扩容

时间:2017-08-03 22:07:08      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:集合   ace   大致   散列表   .net   lib   treemap   链表   pop   

对于Java中的各种集合类,根据底层的具体实现,小结了一下大致有3种扩容的方式:

1、对于以散列表为底层数据结构实现的,(譬如hashset,hashmap,hashtable等),扩容方式为当链表数组的非空元素除以数组大小超过加载因子时,

链表数组长度变大(乘以2+1),然后进行重新散列。

2、对于以数组为底层数据结构实现的,譬如ArrayList,当数组满了之后,数组长度变大(乘以3/2+1),然后将原数组中的数据复制到新数组中。

3、对于以链表结构实现的,譬如TreeSet,TreeMap,则是动态增加元素~~即每次加1即可。

java中集合的扩容

标签:集合   ace   大致   散列表   .net   lib   treemap   链表   pop   

原文地址:http://www.cnblogs.com/ssjifm/p/7281796.html

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