structure
Class StackList

java.lang.Object
  extended by structure.AbstractStructure
      extended by structure.AbstractLinear
          extended by structure.AbstractStack
              extended by structure.StackList
All Implemented Interfaces:
Linear, Stack, Structure

public class StackList
extends AbstractStack
implements Stack

An implementation of a stack, based on lists. The head of the stack is stored at the head of the list.


Constructor Summary
StackList()
          Construct an empty stack.
 
Method Summary
 void add(Object value)
          Add a value to the top of the stack.
 void clear()
          Remove all elements from the stack.
 boolean empty()
          Determine if the stack is empty.
 Object get()
          Get a reference to the top value in the stack.
 Iterator iterator()
          Returns an iterator for traversing the structure.
 Object remove()
          Remove a value from the top of the stack.
 int size()
          Determine the number of elements in the stack.
 String toString()
          Construct a string representation of the stack.
 
Methods inherited from class structure.AbstractStack
getFirst, peek, pop, push
 
Methods inherited from class structure.AbstractLinear
remove
 
Methods inherited from class structure.AbstractStructure
contains, elements, hashCode, isEmpty, values
 
Methods inherited from class java.lang.Object
equals, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface structure.Stack
getFirst, peek, pop, push
 
Methods inherited from interface structure.Structure
contains, elements, isEmpty, remove, values
 

Constructor Detail

StackList

public StackList()
Construct an empty stack.

Method Detail

clear

public void clear()
Remove all elements from the stack.

Specified by:
clear in interface Structure

empty

public boolean empty()
Determine if the stack is empty. Provided for compatibility with java.util.Stack.empty.

Specified by:
empty in interface Linear
Specified by:
empty in interface Stack
Overrides:
empty in class AbstractLinear
Returns:
True iff the stack is empty.
See Also:
AbstractStructure.isEmpty()

iterator

public Iterator iterator()
Description copied from interface: Structure
Returns an iterator for traversing the structure.

Specified by:
iterator in interface Structure
Returns:
an iterator for traversing the structure
See Also:
AbstractIterator, Iterator, Enumeration, Structure.elements()

get

public Object get()
Get a reference to the top value in the stack.

Specified by:
get in interface Linear
Specified by:
get in interface Stack
Returns:
A reference to the top element of the top of the stack.

add

public void add(Object value)
Add a value to the top of the stack.

Specified by:
add in interface Linear
Specified by:
add in interface Stack
Specified by:
add in interface Structure
Parameters:
item - The value to be added.
See Also:
AbstractStack.push(java.lang.Object)

remove

public Object remove()
Remove a value from the top of the stack.

Specified by:
remove in interface Linear
Specified by:
remove in interface Stack
Returns:
The value removed from the top of the stack.
See Also:
AbstractStack.pop()

size

public int size()
Determine the number of elements in the stack.

Specified by:
size in interface Linear
Specified by:
size in interface Stack
Specified by:
size in interface Structure
Returns:
The number of values within the stack.

toString

public String toString()
Construct a string representation of the stack.

Overrides:
toString in class Object
Returns:
A string representing the stack.