ArrayList源码分析
ArrayList
jdk7
创建对象时就创建了长度为10的Object[ ]elementData。
当调用add()时空间不够用时,创建新的数组,将数组长度扩为原来的1.5倍,同时将原有数据复制到新的数组中。
jdk8
创建对象时Object[ ] elementData初始化为{},第一次调用add()时,才创建了长度为10的数组。后续与jdk7无异。
创建对象时就创建了长度为10的Object[ ]elementData。
当调用add()时空间不够用时,创建新的数组,将数组长度扩为原来的1.5倍,同时将原有数据复制到新的数组中。
创建对象时Object[ ] elementData初始化为{},第一次调用add()时,才创建了长度为10的数组。后续与jdk7无异。