structure5
Class StackVector<E>

java.lang.Object
  extended by structure5.AbstractStructure<E>
      extended by structure5.AbstractLinear<E>
          extended by structure5.AbstractStack<E>
              extended by structure5.StackVector<E>
All Implemented Interfaces:
Iterable<E>, Linear<E>, Stack<E>, Structure<E>

public class StackVector<E>
extends AbstractStack<E>
implements Stack<E>

An implementation of a stack, based on extensible arrays. The head of the stack is stored in the first position of the list, allowing the stack to grow and shrink in constant time. This stack implementation is ideal for applications that require a dynamically resizable stack which occasionally takes a time proportional to the its length to expand.

Example usage:

To reverse a string with a stack array, we would use the following:

 public static void main(String[] arguments)
 {
     if(arguments.length > 0){
           StackVector reverseStack = new StackVector();
           String s = arguments[0];
            
           for(int i=0; i < s.length(); i++){
               reverseStack.push(new Character(s.charAt(i)));
           }

           while(!reverseStack.AbstractLinear.empty()){
               System.out.print(reverseStack.AbstractStack.pop());
           }

           System.out.println();
     }
 }
 

See Also:
Stack, StackList, StackArray, AbstractStack

Constructor Summary
StackVector()
          Construct an empty stack.
StackVector(int size)
          Construct a stack with initial capacity Vector will grow if the stack fills vector.
 
Method Summary
 void add(E item)
          Add an element from the top of the stack.
 void clear()
          Remove all elements from stack.
 E get()
          Fetch a reference to the top element of the stack.
 boolean isEmpty()
          Returns true iff the stack is empty.
 Iterator<E> iterator()
          Returns an iterator for traversing the structure.
 E remove()
          Remove an element from the top of the stack.
 int size()
          Determine the number of elements in stack.
 String toString()
          Construct a string representation of stack.
 
Methods inherited from class structure5.AbstractStack
getFirst, peek, pop, push
 
Methods inherited from class structure5.AbstractLinear
empty, remove
 
Methods inherited from class structure5.AbstractStructure
contains, elements, hashCode, values
 
Methods inherited from class java.lang.Object
equals, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface structure5.Stack
empty, getFirst, peek, pop, push
 
Methods inherited from interface structure5.Structure
contains, elements, remove, values
 

Constructor Detail

StackVector

public StackVector()
Construct an empty stack.


StackVector

public StackVector(int size)
Construct a stack with initial capacity Vector will grow if the stack fills vector.

Parameters:
size - The initial capacity of the vector.
Method Detail

add

public void add(E item)
Add an element from the top of the stack.

Specified by:
add in interface Linear<E>
Specified by:
add in interface Stack<E>
Specified by:
add in interface Structure<E>
Parameters:
item - The element to be added to the stack top.
See Also:
Stack.push(E)

remove

public E remove()
Remove an element from the top of the stack.

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

get

public E get()
Fetch a reference to the top element of the stack.

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

isEmpty

public boolean isEmpty()
Returns true iff the stack is empty. Provided for compatibility with java.util.Vector.empty.

Specified by:
isEmpty in interface Structure<E>
Overrides:
isEmpty in class AbstractStructure<E>
Returns:
True iff the stack is empty.

size

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

Specified by:
size in interface Linear<E>
Specified by:
size in interface Stack<E>
Specified by:
size in interface Structure<E>
Returns:
The number of elements in stack.

clear

public void clear()
Remove all elements from stack.

Specified by:
clear in interface Structure<E>

iterator

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

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

toString

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

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