structure
Class CircularList

java.lang.Object
  extended by structure.AbstractStructure
      extended by structure.AbstractList
          extended by structure.CircularList
All Implemented Interfaces:
List, Structure

public class CircularList
extends AbstractList

A class implementing a singly linked circular list.


Constructor Summary
CircularList()
          Construct an empty circular list.
 
Method Summary
 void add(int i, Object o)
          Insert value at location.
 void add(Object value)
          Add an element to head of circular list.
 void addFirst(Object value)
          Add an element to head of list.
 void addLast(Object value)
          Add a value to tail of circular list.
 void clear()
          Remove elements of list.
 boolean contains(Object value)
          Check if a list contains an element.
 Object get(int i)
          Get value at location i.
 Object getFirst()
          Determine if a list is empty.
 Object getLast()
          Peek at last element of list.
 int indexOf(Object value)
          Determine first location of a value in list.
 boolean isEmpty()
          Determine if a list is empty.
 Iterator iterator()
          Construct an iterator over elements of list.
 int lastIndexOf(Object value)
          Determine last location of a value in list.
 Object remove(int i)
          Remove and return value at location i.
 Object remove(Object value)
          Remove a value from a list.
 Object removeFirst()
          Remove a value from head of list.
 Object removeLast()
          Remove a value from tail of list.
 Object set(int i, Object o)
          Set value stored at location i to object o, returning old value.
 int size()
          Determine size of list.
 String toString()
          Generate a string representation of list.
 
Methods inherited from class structure.AbstractList
get, remove
 
Methods inherited from class structure.AbstractStructure
elements, hashCode, values
 
Methods inherited from class java.lang.Object
equals, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface structure.Structure
elements, values
 

Constructor Detail

CircularList

public CircularList()
Construct an empty circular list.

Method Detail

add

public void add(Object value)
Add an element to head of circular list.

Specified by:
add in interface List
Specified by:
add in interface Structure
Overrides:
add in class AbstractList
Parameters:
value - value to be added to list.
See Also:
AbstractList.addLast(java.lang.Object)

addFirst

public void addFirst(Object value)
Add an element to head of list.

Specified by:
addFirst in interface List
Overrides:
addFirst in class AbstractList
Parameters:
value - value added to head of list.

addLast

public void addLast(Object value)
Add a value to tail of circular list.

Specified by:
addLast in interface List
Overrides:
addLast in class AbstractList
Parameters:
value - value to be added.

getFirst

public Object getFirst()
Determine if a list is empty.

Specified by:
getFirst in interface List
Overrides:
getFirst in class AbstractList
Returns:
True if there are no elements within list.

getLast

public Object getLast()
Peek at last element of list.

Specified by:
getLast in interface List
Overrides:
getLast in class AbstractList
Returns:
value of last element of list.

removeFirst

public Object removeFirst()
Remove a value from head of list.

Specified by:
removeFirst in interface List
Overrides:
removeFirst in class AbstractList
Returns:
value removed.

removeLast

public Object removeLast()
Remove a value from tail of list.

Specified by:
removeLast in interface List
Overrides:
removeLast in class AbstractList
Returns:
value removed.

contains

public boolean contains(Object value)
Check if a list contains an element.

Specified by:
contains in interface List
Specified by:
contains in interface Structure
Overrides:
contains in class AbstractList
Parameters:
value - value sought.
Returns:
True iff value is within list.

remove

public Object remove(Object value)
Remove a value from a list.

Parameters:
value - value sought.
Returns:
value removed from list.

size

public int size()
Determine size of list.

Returns:
number of elements in list.

get

public Object get(int i)
Get value at location i.

Parameters:
i - position of value to be retrieved.
Returns:
value retrieved from location i (returns null if i invalid)

set

public Object set(int i,
                  Object o)
Set value stored at location i to object o, returning old value.

Parameters:
i - location of entry to be changed.
o - new value
Returns:
former value of ith entry of list.

add

public void add(int i,
                Object o)
Insert value at location.

Parameters:
i - index of this new value
o - value to be stored

remove

public Object remove(int i)
Remove and return value at location i.

Parameters:
i - position of value to be retrieved.
Returns:
value retrieved from location i (returns null if i invalid)

indexOf

public int indexOf(Object value)
Determine first location of a value in list.

Parameters:
value - value sought.
Returns:
index (0 is first element) of value, or -1

lastIndexOf

public int lastIndexOf(Object value)
Determine last location of a value in list.

Parameters:
value - value sought.
Returns:
index (0 is first element) of value, or -1

iterator

public Iterator iterator()
Construct an iterator over elements of list. Elements are traversed from head to tail.

Returns:
iterator associated with list.
See Also:
AbstractIterator, Iterator, Enumeration, Structure.elements()

isEmpty

public boolean isEmpty()
Determine if a list is empty.

Specified by:
isEmpty in interface List
Specified by:
isEmpty in interface Structure
Overrides:
isEmpty in class AbstractList
Returns:
True iff list is empty.

clear

public void clear()
Remove elements of list.


toString

public String toString()
Generate a string representation of list.

Overrides:
toString in class Object
Returns:
String representing list.