-
jdk7
-
ArrayList<String> list = new ArrayList<>()
-
底层会初始化数组,数组的长度为10
-
Object[] elementData = new Object[10]
-
-
当要添加第11个元素的时候,底层的elementData数组已满,则需要扩容。默认扩容为原来长度的1.5倍。并将原有数组中的元素复制到新的数组中
-
-
jdk8
-
ArrayList<String> list = new ArrayList<>()
-
底层会初始化数组,Object[] elementData = new Object[]{}(长度为0)
-
-
list.add("AA"); //首次添加元素时,会初始化数组elementData = new Object[10];elementData[0] = "AA";
-
当要添加第11个元素的时候,底层的elementData数组已满,则需要扩容。默认扩容为原来长度的1.5倍。并将原有数组中的元素复制到新的数组中
-
AarryList初始容量?如何进行扩容的?
最新推荐文章于 2025-09-05 20:08:02 发布
本文比较了JDK7和JDK8中ArrayList在元素添加满后扩容策略的不同:JDK7默认扩容为原长度的1.5倍,而JDK8初次添加元素时才初始化数组。

7643

被折叠的 条评论
为什么被折叠?



