public class LinkedPositionalList<E> extends Object implements PositionalList<E>
| Constructor and Description |
|---|
LinkedPositionalList()
Constructs a new empty list.
|
| Modifier and Type | Method and Description |
|---|---|
Position<E> |
addAfter(Position<E> p,
E e)
Inserts an element immediately after the given Position.
|
Position<E> |
addBefore(Position<E> p,
E e)
Inserts an element immediately before the given Position.
|
Position<E> |
addFirst(E e)
Inserts an element at the front of the list.
|
Position<E> |
addLast(E e)
Inserts an element at the back of the list.
|
Position<E> |
after(Position<E> p)
Returns the Position immediately after Position p.
|
Position<E> |
before(Position<E> p)
Returns the Position immediately before Position p.
|
Position<E> |
first()
Returns the first Position in the list.
|
boolean |
isEmpty()
Tests whether the list is empty.
|
Iterator<E> |
iterator()
Returns an iterator of the elements stored in the list.
|
Position<E> |
last()
Returns the last Position in the list.
|
static void |
main(String[] args) |
Iterable<Position<E>> |
positions()
Returns an iterable representation of the list's positions.
|
E |
remove(Position<E> p)
Removes the element stored at the given Position and returns it.
|
E |
set(Position<E> p,
E e)
Replaces the element stored at the given Position and returns the replaced element.
|
int |
size()
Returns the number of elements in the list.
|
String |
toString()
Produces a string representation of the contents of the list.
|
public int size()
size in interface PositionalList<E>public boolean isEmpty()
isEmpty in interface PositionalList<E>public Position<E> first()
first in interface PositionalList<E>public Position<E> last()
last in interface PositionalList<E>public Position<E> before(Position<E> p) throws IllegalArgumentException
before in interface PositionalList<E>p - a Position of the listIllegalArgumentException - if p is not a valid position for this listpublic Position<E> after(Position<E> p) throws IllegalArgumentException
after in interface PositionalList<E>p - a Position of the listIllegalArgumentException - if p is not a valid position for this listpublic Position<E> addFirst(E e)
addFirst in interface PositionalList<E>e - the new elementpublic Position<E> addLast(E e)
addLast in interface PositionalList<E>e - the new elementpublic Position<E> addBefore(Position<E> p, E e) throws IllegalArgumentException
addBefore in interface PositionalList<E>p - the Position before which the insertion takes placee - the new elementIllegalArgumentException - if p is not a valid position for this listpublic Position<E> addAfter(Position<E> p, E e) throws IllegalArgumentException
addAfter in interface PositionalList<E>p - the Position after which the insertion takes placee - the new elementIllegalArgumentException - if p is not a valid position for this listpublic E set(Position<E> p, E e) throws IllegalArgumentException
set in interface PositionalList<E>p - the Position of the element to be replacede - the new elementIllegalArgumentException - if p is not a valid position for this listpublic E remove(Position<E> p) throws IllegalArgumentException
remove in interface PositionalList<E>p - the Position of the element to be removedIllegalArgumentException - if p is not a valid position for this listpublic Iterable<Position<E>> positions()
positions in interface PositionalList<E>public String toString()
public static void main(String[] args)