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.
Figure 16-5. java.util.AbstractSequentialList<E>
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 );
}