java中集合的扩容
Posted 生如夏花般寂美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中集合的扩容相关的知识,希望对你有一定的参考价值。
对于Java中的各种集合类,根据底层的具体实现,小结了一下大致有3种扩容的方式:
1、对于以散列表为底层数据结构实现的,(譬如hashset,hashmap,hashtable等),扩容方式为当链表数组的非空元素除以数组大小超过加载因子时,
链表数组长度变大(乘以2+1),然后进行重新散列。
2、对于以数组为底层数据结构实现的,譬如ArrayList,当数组满了之后,数组长度变大(乘以3/2+1),然后将原数组中的数据复制到新数组中。
3、对于以链表结构实现的,譬如TreeSet,TreeMap,则是动态增加元素~~即每次加1即可。
以上是关于java中集合的扩容的主要内容,如果未能解决你的问题,请参考以下文章