package basic; import java.util.Arrays; public class ArrayList implements List { private int size = 0; private Object[] elementData = new Object[2]; public void EnsureEnoughSize(){ if (size == elementData.length ) { elementData = Arrays.copyOf(elementData, elementData.length +10); } } public void add(Object o){ EnsureEnoughSize(); // elementData = Arrays.copyOf(elementData, elementData.length +1); //Object[] NewelementData = new Object[size+1]; //System.arraycopy( elementData,0, NewelementData, 0, elementData.length ); elementData[size]=o; size++; } public void add(int index, Object o){ if (index >= size || index < 0){ return; } EnsureEnoughSize(); for (int i = elementData.length-1; i>index;i --){ elementData[i]=elementData[i-1]; } elementData[index]=o; size++; } public Object get(int index){ if (index >= size || index < 0){ return null; } else { return elementData[index]; } } public Object remove(int index){ if (index >= size || index < 0){ return null; } else { Object o = elementData[index]; for (int i =index; i< size-1; i++){ elementData[i]= elementData[i+1]; } size--; return o; } } public int size(){ return size; } public Iterator iterator(){ return null; } }