structure
Interface Stack

All Superinterfaces:
Linear, Structure
All Known Implementing Classes:
AbstractStack, StackArray, StackList, StackVector

public interface Stack
extends Linear

An interface describing a Last-In, First-Out structure. Stacks are typically used to store the state of a recursively solved problem.


Method Summary
 void add(java.lang.Object item)
          Add an element from the top of the stack.
 boolean empty()
          Returns true iff the stack is empty.
 java.lang.Object get()
          Fetch a reference to the top element of the stack.
 java.lang.Object getFirst()
          Fetch a reference to the top element of the stack.
 java.lang.Object peek()
          Fetch a reference to the top element of the stack.
 java.lang.Object pop()
          Remove an element from the top of the stack.
 void push(java.lang.Object item)
          Add an element to top of stack.
 java.lang.Object remove()
          Remove an element from the top of the stack.
 int size()
          Returns the number of elements in the stack.
 
Methods inherited from interface structure.Structure
clear, contains, elements, isEmpty, iterator, remove, values
 

Method Detail

add

void add(java.lang.Object item)
Add an element from the top of the stack.

Specified by:
add in interface Linear
Specified by:
add in interface Structure
Parameters:
item - The element to be added to the stack top.
See Also:
push(java.lang.Object)
Postcondition:
item is added to stack will be popped next if no intervening add

push

void push(java.lang.Object item)
Add an element to top of stack.

Parameters:
item - The value to be added to the top of the stack.
Postcondition:
item is added to stack will be popped next if no intervening push

remove

java.lang.Object remove()
Remove an element from the top of the stack.

Specified by:
remove in interface Linear
Returns:
The item removed from the top of the stack.
See Also:
pop()
Precondition:
stack is not empty
Postcondition:
most recently added item is removed and returned

pop

java.lang.Object pop()
Remove an element from the top of the stack.

Returns:
A reference to the removed element.
Precondition:
stack is not empty
Postcondition:
most recently pushed item is removed and returned

get

java.lang.Object get()
Fetch a reference to the top element of the stack.

Specified by:
get in interface Linear
Returns:
A reference to the top element of the stack.
Precondition:
stack is not empty
Postcondition:
top value (next to be popped) is returned

getFirst

java.lang.Object getFirst()
Fetch a reference to the top element of the stack.

Returns:
A reference to the top element of the stack.
Precondition:
stack is not empty
Postcondition:
top value (next to be popped) is returned

peek

java.lang.Object peek()
Fetch a reference to the top element of the stack.

Returns:
A reference to the top element of the stack.
Precondition:
stack is not empty
Postcondition:
top value (next to be popped) is returned

empty

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

Specified by:
empty in interface Linear
Returns:
True iff the stack is empty.
Postcondition:
returns true if and only if the stack is empty

size

int size()
Returns the number of elements in the stack.

Specified by:
size in interface Linear
Specified by:
size in interface Structure
Returns:
number of elements in stack.
Postcondition:
returns the number of elements in the stack