数组自动扩容
public void ensureCapacity() {
// 当size == data.length的时候,对数组进行扩容
if(size == data.length) {
// 给数组扩充10个长度
Object[] newArr = new Object[data.length + 10];
// 把原数组中的元素复制到新数组中
System.arraycopy(data, 0, newArr, 0, data.length);
// 让原数组的引用指向新数组的对象
data = newArr;
}
arraycopy(data, 0, newArr, 0, data.length);
意思是:将数组data[]从位置0开始,所有元素复制到数组newArr[]索引值为0的位置,复制的长度是data[]数组的长度。