Xj3D VRML/X3D Code API

org.web3d.util
Class SimpleStack

java.lang.Object
  extended byorg.web3d.util.SimpleStack

public class SimpleStack
extends java.lang.Object

A stack that has a minimal implementation and no syncrhonisation.

This stack is designed to be used in a high-speed, single threaded environment. It is directly backed by an array for fast access.

Version:
$Revision: 1.8 $
Author:
Justin Couch
See Also:
Stack

Constructor Summary
SimpleStack()
          Constructs a new, empty hashtable with a default capacity and load factor, which is 20 respectively.
SimpleStack(int initialCapacity)
          Constructs a new, empty hashtable with the specified initial capacity and default load factor, which is 0.75.
 
Method Summary
 void clear()
          Clears this stack so that it contains no values.
 boolean contains(java.lang.Object value)
          Returns true if this stack contains an instance of the value.
 boolean isEmpty()
          Tests if this stack maps no values.
 java.lang.Object peek()
          Peek at the value on the top of the stack without removing it.
 java.lang.Object pop()
          Pop the value from the top of the stack.
 void push(java.lang.Object val)
          Push a new value onto the top of the stack.
 void remove(java.lang.Object obj)
          Remove the given object from the stack if it exists.
 int size()
          Returns the number of keys in this hashtable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleStack

public SimpleStack()
Constructs a new, empty hashtable with a default capacity and load factor, which is 20 respectively.


SimpleStack

public SimpleStack(int initialCapacity)
Constructs a new, empty hashtable with the specified initial capacity and default load factor, which is 0.75.

Parameters:
initialCapacity - the initial capacity of the hashtable.
Throws:
java.lang.IllegalArgumentException - if the initial capacity is less than zero.
Method Detail

size

public int size()
Returns the number of keys in this hashtable.

Returns:
the number of keys in this hashtable.

isEmpty

public boolean isEmpty()
Tests if this stack maps no values.

Returns:
true if this stack has no values

push

public void push(java.lang.Object val)
Push a new value onto the top of the stack. The value may be any legal reference to an object including null.

Parameters:
val - The new value for the stack.

peek

public java.lang.Object peek()
                      throws java.util.EmptyStackException
Peek at the value on the top of the stack without removing it. If the value pushed was null, then null is returned here.

Returns:
A reference to the object on the top of the stack
Throws:
java.util.EmptyStackException - The stack is currently empty

pop

public java.lang.Object pop()
Pop the value from the top of the stack. If the last value in the stack was null then this will return null.

Returns:
The top object on the stack

contains

public boolean contains(java.lang.Object value)
Returns true if this stack contains an instance of the value. The checl looks at both the reference comparison (==) and the equality using .equals(). If the stack is currently empty this will always return false. The search order is from the top of the stack towards the bottom.

Parameters:
value - The value whose presence in this stack is to be tested.
Returns:
true if this stack contains the value.

remove

public void remove(java.lang.Object obj)
Remove the given object from the stack if it exists. If it is not in the stack, then ignore it quietly.

Parameters:
obj - The object to be removed

clear

public void clear()
Clears this stack so that it contains no values.


Xj3D VRML/X3D Code API

Copyright © 2001 - 2005 Web3D Consortium