java.util
Class AbstractSequentialList<E>

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.util.AbstractCollection sample code for java.util.AbstractCollection definition code for java.util.AbstractCollection <E>
      extended by java.util.AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
          extended by java.util.AbstractSequentialList<E>
All Implemented Interfaces:
Iterable sample code for java.lang.Iterable definition code for java.lang.Iterable <E>, Collection sample code for java.util.Collection definition code for java.util.Collection <E>, List sample code for java.util.List definition code for java.util.List <E>
Direct Known Subclasses:
LinkedList sample code for java.util.LinkedList definition code for java.util.LinkedList

public abstract class AbstractSequentialList<E>
extends AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>

This class provides a skeletal implementation of the List interface to minimize the effort required to implement this interface backed by a "sequential access" data store (such as a linked list). For random access data (such as an array), AbstractList should be used in preference to this class.

This class is the opposite of the AbstractList class in the sense that it implements the "random access" methods (get(int index), set(int index, Object element), set(int index, Object element), add(int index, Object element) and remove(int index)) on top of the list's list iterator, instead of the other way around.

To implement a list the programmer needs only to extend this class and provide implementations for the listIterator and size methods. For an unmodifiable list, the programmer need only implement the list iterator's hasNext, next, hasPrevious, previous and index methods.

For a modifiable list the programmer should additionally implement the list iterator's set method. For a variable-size list the programmer should additionally implement the list iterator's remove and add methods.

The programmer should generally provide a void (no argument) and collection constructor, as per the recommendation in the Collection interface specification.

This class is a member of the Java Collections Framework.

Since:
1.2
See Also:
Collection sample code for java.util.Collection definition code for java.util.Collection , List sample code for java.util.List definition code for java.util.List , AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList , AbstractCollection sample code for java.util.AbstractCollection definition code for java.util.AbstractCollection

Field Summary
 
Fields inherited from class java.util.AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList
modCount sample code for java.util.AbstractList.modCount definition code for java.util.AbstractList.modCount
 
Constructor Summary
protected AbstractSequentialList sample code for java.util.AbstractSequentialList.AbstractSequentialList() definition code for java.util.AbstractSequentialList.AbstractSequentialList() ()
          Sole constructor.
 
Method Summary
 void add sample code for java.util.AbstractSequentialList.add(int, E) definition code for java.util.AbstractSequentialList.add(int, E) (int index, E element)
          Inserts the specified element at the specified position in this list.
 boolean addAll sample code for java.util.AbstractSequentialList.addAll(int, java.util.Collection) definition code for java.util.AbstractSequentialList.addAll(int, java.util.Collection) (int index, Collection sample code for java.util.Collection definition code for java.util.Collection <? extends E> c)
          Inserts all of the elements in the specified collection into this list at the specified position.
 E get sample code for java.util.AbstractSequentialList.get(int) definition code for java.util.AbstractSequentialList.get(int) (int index)
          Returns the element at the specified position in this list.
 Iterator sample code for java.util.Iterator definition code for java.util.Iterator <E> iterator sample code for java.util.AbstractSequentialList.iterator() definition code for java.util.AbstractSequentialList.iterator() ()
          Returns an iterator over the elements in this list (in proper sequence).
abstract  ListIterator sample code for java.util.ListIterator definition code for java.util.ListIterator <E> listIterator sample code for java.util.AbstractSequentialList.listIterator(int) definition code for java.util.AbstractSequentialList.listIterator(int) (int index)
          Returns a list iterator over the elements in this list (in proper sequence).
 E remove sample code for java.util.AbstractSequentialList.remove(int) definition code for java.util.AbstractSequentialList.remove(int) (int index)
          Removes the element at the specified position in this list.
 E set sample code for java.util.AbstractSequentialList.set(int, E) definition code for java.util.AbstractSequentialList.set(int, E) (int index, E element)
          Replaces the element at the specified position in this list with the specified element.
 
Methods inherited from class java.util.AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList
add sample code for java.util.AbstractList.add(E) definition code for java.util.AbstractList.add(E) , clear sample code for java.util.AbstractList.clear() definition code for java.util.AbstractList.clear() , equals sample code for java.util.AbstractList.equals(java.lang.Object) definition code for java.util.AbstractList.equals(java.lang.Object) , hashCode sample code for java.util.AbstractList.hashCode() definition code for java.util.AbstractList.hashCode() , indexOf sample code for java.util.AbstractList.indexOf(java.lang.Object) definition code for java.util.AbstractList.indexOf(java.lang.Object) , lastIndexOf sample code for java.util.AbstractList.lastIndexOf(java.lang.Object) definition code for java.util.AbstractList.lastIndexOf(java.lang.Object) , listIterator sample code for java.util.AbstractList.listIterator() definition code for java.util.AbstractList.listIterator() , removeRange sample code for java.util.AbstractList.removeRange(int, int) definition code for java.util.AbstractList.removeRange(int, int) , subList sample code for java.util.AbstractList.subList(int, int) definition code for java.util.AbstractList.subList(int, int)
 
Methods inherited from class java.util.AbstractCollection sample code for java.util.AbstractCollection definition code for java.util.AbstractCollection
addAll sample code for java.util.AbstractCollection.addAll(java.util.Collection) definition code for java.util.AbstractCollection.addAll(java.util.Collection) , contains sample code for java.util.AbstractCollection.contains(java.lang.Object) definition code for java.util.AbstractCollection.contains(java.lang.Object) , containsAll sample code for java.util.AbstractCollection.containsAll(java.util.Collection) definition code for java.util.AbstractCollection.containsAll(java.util.Collection) , isEmpty sample code for java.util.AbstractCollection.isEmpty() definition code for java.util.AbstractCollection.isEmpty() , remove sample code for java.util.AbstractCollection.remove(java.lang.Object) definition code for java.util.AbstractCollection.remove(java.lang.Object) , removeAll sample code for java.util.AbstractCollection.removeAll(java.util.Collection) definition code for java.util.AbstractCollection.removeAll(java.util.Collection) , retainAll sample code for java.util.AbstractCollection.retainAll(java.util.Collection) definition code for java.util.AbstractCollection.retainAll(java.util.Collection) , size sample code for java.util.AbstractCollection.size() definition code for java.util.AbstractCollection.size() , toArray sample code for java.util.AbstractCollection.toArray() definition code for java.util.AbstractCollection.toArray() , toArray sample code for java.util.AbstractCollection.toArray(T[]) definition code for java.util.AbstractCollection.toArray(T[]) , toString sample code for java.util.AbstractCollection.toString() definition code for java.util.AbstractCollection.toString()
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 
Methods inherited from interface java.util.List sample code for java.util.List definition code for java.util.List
addAll sample code for java.util.List.addAll(java.util.Collection) definition code for java.util.List.addAll(java.util.Collection) , contains sample code for java.util.List.contains(java.lang.Object) definition code for java.util.List.contains(java.lang.Object) , containsAll sample code for java.util.List.containsAll(java.util.Collection) definition code for java.util.List.containsAll(java.util.Collection) , isEmpty sample code for java.util.List.isEmpty() definition code for java.util.List.isEmpty() , remove sample code for java.util.List.remove(java.lang.Object) definition code for java.util.List.remove(java.lang.Object) , removeAll sample code for java.util.List.removeAll(java.util.Collection) definition code for java.util.List.removeAll(java.util.Collection) , retainAll sample code for java.util.List.retainAll(java.util.Collection) definition code for java.util.List.retainAll(java.util.Collection) , size sample code for java.util.List.size() definition code for java.util.List.size() , toArray sample code for java.util.List.toArray() definition code for java.util.List.toArray() , toArray sample code for java.util.List.toArray(T[]) definition code for java.util.List.toArray(T[])
 

Constructor Detail

AbstractSequentialList sample code for java.util.AbstractSequentialList() definition code for java.util.AbstractSequentialList()

protected AbstractSequentialList()
Sole constructor. (For invocation by subclass constructors, typically implicit.)

Method Detail

get sample code for java.util.AbstractSequentialList.get(int) definition code for java.util.AbstractSequentialList.get(int)

public E get(int index)
Returns the element at the specified position in this list.

This implementation first gets a list iterator pointing to the indexed element (with listIterator(index)). Then, it gets the element using ListIterator.next and returns it.

Specified by:
get sample code for java.util.List.get(int) definition code for java.util.List.get(int) in interface List sample code for java.util.List definition code for java.util.List <E>
Specified by:
get sample code for java.util.AbstractList.get(int) definition code for java.util.AbstractList.get(int) in class AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
Parameters:
index - index of element to return.
Returns:
the element at the specified position in this list.
Throws:
IndexOutOfBoundsException sample code for java.lang.IndexOutOfBoundsException definition code for java.lang.IndexOutOfBoundsException - if the specified index is out of range (index < 0 || index >= size()).

set sample code for java.util.AbstractSequentialList.set(int, E) definition code for java.util.AbstractSequentialList.set(int, E)

public E set(int index,
             E element)
Replaces the element at the specified position in this list with the specified element.

This implementation first gets a list iterator pointing to the indexed element (with listIterator(index)). Then, it gets the current element using ListIterator.next and replaces it with ListIterator.set.

Note that this implementation will throw an UnsupportedOperationException if list iterator does not implement the set operation.

Specified by:
set sample code for java.util.List.set(int, E) definition code for java.util.List.set(int, E) in interface List sample code for java.util.List definition code for java.util.List <E>
Overrides:
set sample code for java.util.AbstractList.set(int, E) definition code for java.util.AbstractList.set(int, E) in class AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
Parameters:
index - index of element to replace.
element - element to be stored at the specified position.
Returns:
the element previously at the specified position.
Throws:
UnsupportedOperationException sample code for java.lang.UnsupportedOperationException definition code for java.lang.UnsupportedOperationException - set is not supported by this list.
NullPointerException sample code for java.lang.NullPointerException definition code for java.lang.NullPointerException - this list does not permit null elements and one of the elements of c is null.
ClassCastException sample code for java.lang.ClassCastException definition code for java.lang.ClassCastException - class of the specified element prevents it from being added to this list.
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - some aspect of the specified element prevents it from being added to this list.
IndexOutOfBoundsException sample code for java.lang.IndexOutOfBoundsException definition code for java.lang.IndexOutOfBoundsException - index out of range (index < 0 || index >= size()).
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - fromIndex > toIndex.

add sample code for java.util.AbstractSequentialList.add(int, E) definition code for java.util.AbstractSequentialList.add(int, E)

public void add(int index,
                E element)
Inserts the specified element at the specified position in this list. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This implementation first gets a list iterator pointing to the indexed element (with listIterator(index)). Then, it inserts the specified element with ListIterator.add.

Note that this implementation will throw an UnsupportedOperationException if list iterator does not implement the add operation.

Specified by:
add sample code for java.util.List.add(int, E) definition code for java.util.List.add(int, E) in interface List sample code for java.util.List definition code for java.util.List <E>
Overrides:
add sample code for java.util.AbstractList.add(int, E) definition code for java.util.AbstractList.add(int, E) in class AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
Parameters:
index - index at which the specified element is to be inserted.
element - element to be inserted.
Throws:
UnsupportedOperationException sample code for java.lang.UnsupportedOperationException definition code for java.lang.UnsupportedOperationException - if the add operation is not supported by this list.
NullPointerException sample code for java.lang.NullPointerException definition code for java.lang.NullPointerException - this list does not permit null elements and one of the elements of c is null.
ClassCastException sample code for java.lang.ClassCastException definition code for java.lang.ClassCastException - if the class of the specified element prevents it from being added to this list.
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if some aspect of the specified element prevents it from being added to this list.
IndexOutOfBoundsException sample code for java.lang.IndexOutOfBoundsException definition code for java.lang.IndexOutOfBoundsException - if the specified index is out of range (index < 0 || index > size()).

remove sample code for java.util.AbstractSequentialList.remove(int) definition code for java.util.AbstractSequentialList.remove(int)

public E remove(int index)
Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices).

This implementation first gets a list iterator pointing to the indexed element (with listIterator(index)). Then, it removes the element with ListIterator.remove.

Note that this implementation will throw an UnsupportedOperationException if list iterator does not implement the remove operation.

Specified by:
remove sample code for java.util.List.remove(int) definition code for java.util.List.remove(int) in interface List sample code for java.util.List definition code for java.util.List <E>
Overrides:
remove sample code for java.util.AbstractList.remove(int) definition code for java.util.AbstractList.remove(int) in class AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
Parameters:
index - index of the element to be removed from the List.
Returns:
the element that was removed from the list.
Throws:
UnsupportedOperationException sample code for java.lang.UnsupportedOperationException definition code for java.lang.UnsupportedOperationException - if the remove operation is not supported by this list.
IndexOutOfBoundsException sample code for java.lang.IndexOutOfBoundsException definition code for java.lang.IndexOutOfBoundsException - if the specified index is out of range (index < 0 || index >= size()).

addAll sample code for java.util.AbstractSequentialList.addAll(int, java.util.Collection<? extends E>) definition code for java.util.AbstractSequentialList.addAll(int, java.util.Collection<? extends E>)

public boolean addAll(int index,
                      Collection sample code for java.util.Collection definition code for java.util.Collection <? extends E> c)
Inserts all of the elements in the specified collection into this list at the specified position. Shifts the element currently at that position (if any) and any subsequent elements to the right (increases their indices). The new elements will appear in the list in the order that they are returned by the specified collection's iterator. The behavior of this operation is unspecified if the specified collection is modified while the operation is in progress. (Note that this will occur if the specified collection is this list, and it's nonempty.) Optional operation.

This implementation gets an iterator over the specified collection and a list iterator over this list pointing to the indexed element (with listIterator(index)). Then, it iterates over the specified collection, inserting the elements obtained from the iterator into this list, one at a time, using ListIterator.add followed by ListIterator.next (to skip over the added element).

Note that this implementation will throw an UnsupportedOperationException if the list iterator returned by the listIterator method does not implement the add operation.

Specified by:
addAll sample code for java.util.List.addAll(int, java.util.Collection) definition code for java.util.List.addAll(int, java.util.Collection) in interface List sample code for java.util.List definition code for java.util.List <E>
Overrides:
addAll sample code for java.util.AbstractList.addAll(int, java.util.Collection) definition code for java.util.AbstractList.addAll(int, java.util.Collection) in class AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
Parameters:
index - index at which to insert first element from the specified collection.
c - elements to be inserted into this list.
Returns:
true if this list changed as a result of the call.
Throws:
UnsupportedOperationException sample code for java.lang.UnsupportedOperationException definition code for java.lang.UnsupportedOperationException - if the addAll operation is not supported by this list.
NullPointerException sample code for java.lang.NullPointerException definition code for java.lang.NullPointerException - this list does not permit null elements and one of the elements of the specified collection is null.
ClassCastException sample code for java.lang.ClassCastException definition code for java.lang.ClassCastException - if the class of the specified element prevents it from being added to this list.
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if some aspect of the specified element prevents it from being added to this list.
IndexOutOfBoundsException sample code for java.lang.IndexOutOfBoundsException definition code for java.lang.IndexOutOfBoundsException - if the specified index is out of range (index < 0 || index > size()).
NullPointerException sample code for java.lang.NullPointerException definition code for java.lang.NullPointerException - if the specified collection is null.

iterator sample code for java.util.AbstractSequentialList.iterator() definition code for java.util.AbstractSequentialList.iterator()

public Iterator sample code for java.util.Iterator definition code for java.util.Iterator <E> iterator()
Returns an iterator over the elements in this list (in proper sequence).

This implementation merely returns a list iterator over the list.

Specified by:
iterator sample code for java.lang.Iterable.iterator() definition code for java.lang.Iterable.iterator() in interface Iterable sample code for java.lang.Iterable definition code for java.lang.Iterable <E>
Specified by:
iterator sample code for java.util.Collection.iterator() definition code for java.util.Collection.iterator() in interface Collection sample code for java.util.Collection definition code for java.util.Collection <E>
Specified by:
iterator sample code for java.util.List.iterator() definition code for java.util.List.iterator() in interface List sample code for java.util.List definition code for java.util.List <E>
Overrides:
iterator sample code for java.util.AbstractList.iterator() definition code for java.util.AbstractList.iterator() in class AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
Returns:
an iterator over the elements in this list (in proper sequence).
See Also:
AbstractList.modCount sample code for java.util.AbstractList.modCount definition code for java.util.AbstractList.modCount

listIterator sample code for java.util.AbstractSequentialList.listIterator(int) definition code for java.util.AbstractSequentialList.listIterator(int)

public abstract ListIterator sample code for java.util.ListIterator definition code for java.util.ListIterator <E> listIterator(int index)
Returns a list iterator over the elements in this list (in proper sequence).

Specified by:
listIterator sample code for java.util.List.listIterator(int) definition code for java.util.List.listIterator(int) in interface List sample code for java.util.List definition code for java.util.List <E>
Overrides:
listIterator sample code for java.util.AbstractList.listIterator(int) definition code for java.util.AbstractList.listIterator(int) in class AbstractList sample code for java.util.AbstractList definition code for java.util.AbstractList <E>
Parameters:
index - index of first element to be returned from the list iterator (by a call to the next method)
Returns:
a list iterator over the elements in this list (in proper sequence).
See Also:
AbstractList.modCount sample code for java.util.AbstractList.modCount definition code for java.util.AbstractList.modCount