public class MyList<E> { private static final int DEFAULT_CAPACITY = 10; private E[] elements; private int size = 0; public MyList() { elements = new E[DEFAULT_CAPACITY]; } public void add(E e) { if (size == elements.length) ensureCapacity(); elements[size++] = e; } public void ensureCapacity() { int newSize = elements.length*2; elements = Arrays.copyOf(elements,newSize); } public E get(int i) { if (i < 0 || i >= size) throw new IndexOutOfBoundException("Index : " + i + " Size : " + size); return elements[i]; } }