底層是數組數組
/** * Created by yaming * 基於數組的ArrayList */ public class MyArrayList { private Object[] element; private int size; /** * 默認16 */ public MyArrayList() { //初始化默認長度16 element=new Object[16]; size=0; } /** * 初始化 自定義長度 * @param length */ public MyArrayList(int length){ element=new Object[length]; size=0; } public MyArrayList(Object[] element, int size) { this.element =element; this.size = 0; } public int size(){ return size; } public Object add(Object obj){ //1.先判斷容量夠不夠 if(size==element.length){ Object[] oldElement=element; //默認擴容1.5倍 int newCapacity=element.length*3/2; //新的空數組 element=new Object[newCapacity]; //數據複製 System.arraycopy(oldElement,0,element,0,oldElement.length); } element[size++]=obj; return true; } public Object get(int index){ return element[index]; } public Object remove(int index){ Object obj=get(index); for(int i=index;i<size-1;i++){ element[index]=element[index+1]; } size--; return obj; } public void clearAll(){ element=new Object[16]; size=0; } }