import javax.swing.plaf.basic.BasicTreeUI; import java.security.SignatureException; import java.util.Arrays; /** * Created by fantasy on 2017-03-13. */ public class ArrayList implements List { private int size = 0; private Object[] elementData = new Object[10]; public void add(Object o) { if(size >= elementData.length) { elementData= Arrays.copyOf(elementData, size+10); } elementData [++size] = o; } public void add(int index, Object o) { if(size >= elementData.length) { elementData = new Object[size + 10]; } if(size > index) { elementData[++size] = o; } else { for(int i = size;i>index;i--) { elementData [i + 1] = elementData [i]; } } elementData [index] = o; size++; } public Object get(int index) { if(index < 0 || index > size) { throw new IndexOutOfBoundsException("size:" + size + ",index:"+index); } return elementData[size]; } public Object remove(int index) { if(size > index) { Object OldValue = elementData[index]; for(int i = index;i<= size;) { elementData[i] = elementData[++i]; } return OldValue; } throw new IndexOutOfBoundsException("size:"+ size + ",index:" + index); } public int size() { return size; } public Iterator iterator() { return null; } }