List 继承于Collection接口,有序 可重复
ArrayList:数组,查询快,增删慢
* 可以插入null
* 初始化时默认容量0,当add时会分配10的初始容量
* 每次add都会检查容量,快溢出时会进行扩容(1.7是1.5;1.8是右移一位,也是1.5)
* 扩容:1.新建一个新数组 2.copy数据到新数组 3.地址指向新数组
* Add:不带index的add,直接在尾部插入;带index的add,会拷贝index之后的数组并放在index+1的位置里,然后把值插入index位置
* Size:初始化时只初始化elementData,也就是数组的大小,List可以容纳的最大元素数量,而size指的是List实际元素数量,在add时执行size++,所以当初始化完,size是0