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];
}
}