/** * Unannounced quiz 2. * Array-based implementation of the List interface. * YOUR NAME: YOUR STUDENT ID: */ class ArrayList implements List { private static final int INITIAL_CAPACITY = 16; private Object[] _underlyingStorage; private int _numElements; public ArrayList () { _underlyingStorage = new Object[INITIAL_CAPACITY]; _numElements = 0; } public add (Object o) { _underlyingStorage[_numElements] = o; _numElements++; } public void remove (int index) { for (int i = index + 1; i < _numElements; i++) { _underlyingStorage[i - 1] = _underlyingStorage[i]; } _numElements--; } public Iterator iterator () { return new ArrayListIterator(); } private class ArrayListIterator implements Iterator { // Instance variables public boolean hasNext () { } public Object next () { } public void remove () { // You can use ArrayList.this.remove(index) here. } } }