ArrayList扩容,新增,删除过程,原文出自:https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/ArrayList%E6%BA%90%E7%A0%81+%E6%89%A9%E5%AE%B9%E6%9C%BA%E5%88%B6%E5%88%86%E6%9E%90.md
特别说明:
System.arraycopy(elementData, index+1, elementData, index, numMoved);
// 将elementData中从index+1开始的元素,复制到elementData中从index位置开始的数组里
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
其中:
Object src : 原数组
int srcPos : 从原数组copy的起点
Object dest : 目标数组
int destPos : paste到目标数组的起点
int length : 要copy的数组的长度
扩容: 操作:
/**
* 将指定的元素追加到此列表的末尾。
*/
public boolean add(E e) {
//添加元素之前,先调用ensureCapacityInternal方法
ensureCapa