import java.util.Arrays; public class ArrayList implements List { private int size = 0; private int index =0; private Object[] elementData = new Object[100]; public void add(Object o) { elementData[size] = o; size = size+1; } public void add(int index, Object o) { Object[] elementDataNew =null; if(size<elementData.length+1){ elementDataNew = new Object[elementData.length]; }else { elementDataNew = new Object[elementData.length+1]; } for(int i =0;i<index;i++){ elementDataNew[i]=elementData[i]; } elementDataNew[index]=o; for(int j= index+1;j<elementData.length;j++){ elementDataNew[j]=elementData[j]; } elementData = elementDataNew; size=size+1; return; } public Object get(int index) { return elementData[index]; } public Object remove(int index) { Object[] elementDataNew = new Object[elementData.length+1]; for(int i =0;i<index;i++){ elementDataNew[i]=elementData[i]; } for(int j= index+1;j<elementData.length;j++){ elementDataNew[j-1]=elementData[j]; } elementData = elementDataNew; size=size-1; return this; } public int size() { return size; } public Iterator iterator() { return null; } @Override public String toString() { return "ArrayList{" + "size=" + size + ", index=" + index + ", elementData=" + Arrays.toString(elementData) + '}'; } public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add(1); arrayList.add(2,2); arrayList.remove(0); arrayList.toString(); } }