publicabstractclassAbstractListextendsAbstractCollectionimplementsList{
/**
* Sole constructor. (For invocation by subclass constructors, typically
* implicit.)
*/
protectedAbstractList() {
}
/**
* Appends the specified element to the end of this List (optional
* operation).
*
* This implementation calls add(size(), o).
*
* Note that this implementation throws an
* UnsupportedOperationException unless add(int, Object)
* is overridden.
*
* @param o element to be appended to this list.
*
* @return true (as per the general contract of
* Collection.add).
*
* @throws UnsupportedOperationException if the add method is not
* supported by this Set.
*
* @throws ClassCastException if the class of the specified element
* prevents it from being added to this set.
*
* @throws IllegalArgumentException some aspect of this element prevents
* it from being added to this collection.
*/
publicbooleanadd(E o) {
add(size(), o);
returntrue;
}
/**
* Inserts the specified element at the specified position in this list
* (optional operation). Shifts the element currently at that position
* (if any) and any subsequent elements to the right (adds one to their
* indices).
*
* This implementation always throws an UnsupportedOperationException.
*
* @param index index at which the specified element is to be inserted.
* @param element element to be inserted.
*
* @throws UnsupportedOperationException if the add method is not
* supported by this list.
* @throws ClassCastException if the class of the specified element
* prevents it from being added to this list.
* @throws IllegalArgumentException if some aspect of the specified
* element prevents it from being added to this list.
* @throws IndexOutOfBoundsException index is out of range (index
* 0 || index > size()).
*/
publicvoidadd(intindex, E element) {
thrownewUnsupportedOperationException();
}
/**
* Removes the element at the specified position in this list (optional
* operation). Shifts any subsequent elements to the left (subtracts one
* from their indices). Returns the element that was removed from the
* list.
*
* This implementation always throws an
* UnsupportedOperationException.
*
* @param index the index of the element to remove.
* @return the element previously at the specified position.
*
* @throws UnsupportedOperationException if the remove method is
* not supported by this list.
* @throws IndexOutOfBoundsException if the specified index is out of
* range (index = size() 0 || index >).
*/
publicE remove(intindex) {
thrownewUnsupportedOperationException();
}
}