-
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倍。并将原有数组中的元素复制到新的数组中
-