- 博客(2)
- 收藏
- 关注
原创 关于ArrayList扩容机制的源码分析(基于jdk1.8版本)
关于ArrayList扩容机制的源码分析(基于jdk1.8版本)在jdk1.8中,我们创建ArrayList的对象调用无参构造器和带参构造器是有一定的区别的,不同于jdk1.7版本。在jdk1.8中,当我们创建ArrayList对象时调用的是无参构造器的话,会创建一个长度为0的Object[]的elementData。当我们要添加第一个元素的时候也就是第一次调用add()方法的时候底层才会给我们创建一个长度为10的数组。我们且来看一下底层源码...
2020-09-12 18:37:35
257
原创 关于ArrayList扩容机制的源码分析(基于jdk1.7版本)
关于ArrayList扩容机制的源码分析(基于jdk1.7版本)在jdk1.7版本中,我们创建ArrayList的对象调用无参构造器时,在其构造器内部调用了重载的带参构造器,并且将参数赋值为10。此时便创建了数组长度为10的Object[]的elementData。接着我们再继续看add()方法当我们第一次添加元素时size为0,那么minCapacity便是0 + 1 = 1。进入ensureCapacityInterna...
2020-09-12 17:28:20
487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人