|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--structure.AbstractStructure | +--structure.AbstractLinear | +--structure.AbstractStack | +--structure.StackVector
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 = newStackVector()
; 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(); } }
Stack
,
StackList
,
StackArray
,
AbstractStack
Field Summary | |
protected Vector |
data
The vector containing the stack data. |
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(java.lang.Object item)
Add an element from the top of the stack. |
void |
clear()
Remove all elements from stack. |
java.lang.Object |
get()
Fetch a reference to the top element of the stack. |
boolean |
isEmpty()
Returns true iff the stack is empty. |
java.util.Iterator |
iterator()
Returns an iterator for traversing the structure. |
java.lang.Object |
remove()
Remove an element from the top of the stack. |
int |
size()
Determine the number of elements in stack. |
java.lang.String |
toString()
Construct a string representation of stack. |
Methods inherited from class structure.AbstractStack |
getFirst, peek, pop, push |
Methods inherited from class structure.AbstractLinear |
empty, remove |
Methods inherited from class structure.AbstractStructure |
contains, elements, hashCode, values |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface structure.Stack |
empty, getFirst, peek, pop, push |
Methods inherited from interface structure.Structure |
contains, elements, remove, values |
Field Detail |
protected Vector data
Constructor Detail |
public StackVector()
public StackVector(int size)
size
- The initial capacity of the vector.Method Detail |
public void add(java.lang.Object item)
add
in interface Stack
item
- The element to be added to the stack top.Stack.push(java.lang.Object)
public java.lang.Object remove()
remove
in interface Stack
AbstractStack.pop()
public java.lang.Object get()
get
in interface Stack
public boolean isEmpty()
isEmpty
in interface Structure
isEmpty
in class AbstractStructure
public int size()
size
in interface Stack
public void clear()
clear
in interface Structure
public java.util.Iterator iterator()
Structure
iterator
in interface Structure
AbstractIterator
,
Iterator
,
Enumeration
,
Structure.elements()
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |