package djj; import java.util.Arrays; /** * Created by jerry on 2017/2/26. */ public class ArrayList implements List { private int size = 0; private Object[] elementData = new Object[100]; public void add(Object o){ if(size>elementData.length*0.8){ Arrays.copyOf(elementData,elementData.length*2); } elementData[size]=o; size++; } public void add(int index, Object o){ if (size>=index){ Object[] temp=new Object[elementData.length]; System.arraycopy(elementData,0,temp,0,index); temp[index]=o; System.arraycopy(elementData,index,temp,index+1,size-index); elementData=temp; }else if(size<index){ throw new RuntimeException("越界"); } size++; } public Object get(int index){ if(index>size){ throw new RuntimeException("越界"); }else{ return elementData[index]; } } public Object remove(int index){ Object tempObj=null; if(index<=size){ Object[] temp=new Object[elementData.length]; System.arraycopy(elementData,0,temp,0,index); tempObj=elementData[index]; System.arraycopy(elementData,index+1,temp,index,size-index-1); elementData=temp; } size--; return tempObj; } public int size(){ return size; } public Iterator iterator(){ return null; } }