packagecom.ys.collection;public classMyArrayList {//用于存储数据
private transient Object[] data = null;//集合的元素个数
private int size = 0;//定义一个常量为 10.(后面用于定义默认的集合大小)
private static final int DEFAULT_CAPACITY = 10;/***
* 有参构造函数
* 指定数组的大小
*@paramlength*/
public MyArrayList(intinitialCapacity){if(initialCapacity < 0){throw new IllegalArgumentException("非法的集合初始容量值 Illegal Capacity: "+initialCapacity);
}else{//实例化数组
this.data = newObject[initialCapacity];
}
}/***
* 无参构造函数
* 指定数组的初始大小为 10*/
publicMyArrayList(){this(DEFAULT_CAPACITY);
}/***
* 1、复制原数组,并扩容一倍
* 2、复制原数组,并扩容一倍,并在指定位置插入对象
*@paramindex
*@paramobj*/
public void checkIncrease(intindex,Object obj){if(size >=data.length){//实例化一个新数组
Object[] newData =