集合为什么可以自动扩容

Posted with-lj

tags:

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

集合扩容的时机是Add();

集合底层是通过两个数组相互copy实现的。
扩容的本质就是将新数组长度扩容成旧数组长度的2倍,其实上就是调度Array.Copy(oldArray,0,destArray,0,length)。

技术分享图片

当Add()触发后就调用了

技术分享图片

 


以上是关于集合为什么可以自动扩容的主要内容,如果未能解决你的问题,请参考以下文章

Java常见集合的默认大小及扩容机制

Collection类

HashMap的resize自动扩容

Java中List的简述

Java集合XMind与注意事项

Java 集合深入理解 (十三) :ArrayDeque实现原理研究,及动态扩容双端队列和单队列和栈比较