java中集合的扩容

Posted 生如夏花般寂美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中集合的扩容相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

以上是关于java中集合的扩容的主要内容,如果未能解决你的问题,请参考以下文章

Java——关于Java中集合的面试题

Java——12个关于Java中集合的面试题

Java中集合的理解

Java中集合的嵌套

python中集合的特点和注意点?

python 中集合的属性