定义了List接口,定义我们想要实现的ArrayList类想要的功能方法
public interface List {
public void add(Object obj);
public int size();
public void add(int i,Object obj);
public void remove(Object obj);
public void remove(int index);
public String toString();
public void clear();
public void addFirst(Object obj);
public void addLast(Object obj);
}
定义MyArrayList类实现List接口,重写接口抽象方法 具体算法实现细节参照代码注释
package com.dataList;
import java.util.Arrays;
public class MyArrayList implements List {
private int size = 0; //定义动态集合容量大小
private Object[] elementData; //集合内部实现是一个object对象数组
public MyArrayList(){ //空参数构造器 默认创建一个大小为4的object对象数组
this(4); //默认数组大小对外是隐藏 不能访问的
}
public MyArrayList(int count){ //有参数构造器
elementData = new Object[count];
}
//通过索引获取元素对象
public Object getEle(int index){
if(index < 0 || index >=size){
throw new RuntimeException("数组越界异常");
}
return elementData[index];
}
//返回集合容量大小
pu