This
abstract class is a partial implementation of the
List interface that makes it easy to define
List implementations based on a sequential-access
data model, as is the case with the LinkedList
subclass. To implement a List based on an array or
other random-access model, subclass AbstractList
instead.
To implement an unmodifiable list,
subclass this class and override the size( ) and
listIterator( ) methods. listIterator(
) must return a ListIterator that
defines the hasNext( ), hasPrevious(
), next( ), previous(
), and index( ) methods. If you want to
allow the list to be modified, the ListIterator
should also support the set( ) method and,
optionally, the add( ) and remove(
) methods. AbstractSequentialList
implements all other List methods in terms of
these methods. Some subclasses may want to override additional
methods to improve performance. In addition, it is conventional that
all List implementations define two constructors:
one that accepts no arguments and another that accepts a
Collection of initial elements for the list.

public abstract class AbstractSequentialList<E> extends AbstractList<E> {
// Protected Constructors
protected AbstractSequentialList( );
// Public Methods Overriding AbstractList
public void add(int index, E element);
public boolean addAll(int index, Collection<? extends E> c);
public E get(int index);
public Iterator<E> iterator( );
public abstract ListIterator<E> listIterator(int index);
public E remove(int index);
public E set(int index, E element);
}