内部实现:数组
1、初始化大小:10
如果jdk1.8时new ArrayList(),发现数组初始化为一个 defaultcapacity_empty_elementdata,长度为0的空数组
如果jdk1.6时new ArrayList(),发现数组初始化为一个长度为10的Object【】
如果jdk1.7时new ArrayList(),发现数组初始化为一个empty_elemendata,长度为0的空数组;
2、添加元素时,如果数组满了,如何扩容
扩容伟1.5倍
jdk1.7和jdk1.8时,因为一开始是空数组,那么第一次扩展为长度10的数组。然后不够了,在扩为原来的1.5倍
3、删除元素时,数组会不会缩小
不会
但是像Arraylist有一个trimToSize()可以调整大小。