com.sosnoski.util.queue
Class StringQueue
java.lang.Object
|
+--com.sosnoski.util.GrowableBase
|
+--com.sosnoski.util.queue.QueueBase
|
+--com.sosnoski.util.queue.StringQueue
- public class StringQueue
- extends QueueBase
Growable circular queue of Strings. This implementation is
unsynchronized in order to provide the best possible performance for typical
usage scenarios, so explicit synchronization must be implemented by a
wrapper class or directly by the application in cases where instances are
modified in a multithreaded environment. See the base classes for other
details of the implementation.
- Version:
- 1.1
- Author:
- Dennis M. Sosnoski
|
Field Summary |
protected java.lang.String[] |
m_baseArray
The underlying array used for storing the data. |
|
Method Summary |
void |
add(java.lang.String item)
Add an item at the end of the queue. |
java.lang.Object |
clone()
Duplicates the object with the generic call. |
protected java.lang.Object |
getArray()
Get the backing array. |
java.util.Iterator |
iterator()
Return an iterator for the Strings in this queue. |
java.lang.String |
remove()
Remove an item from the start of the queue. |
protected void |
setArray(java.lang.Object array)
Set the backing array. |
java.lang.String[] |
toArray()
Constructs and returns a simple array containing the same data as held
in this growable array. |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
m_baseArray
protected java.lang.String[] m_baseArray
- The underlying array used for storing the data.
StringQueue
public StringQueue(int size,
int growth)
- Constructor with full specification.
- Parameters:
size - number of elements initially allowed in queuegrowth - maximum size increment for growing queue
StringQueue
public StringQueue(int size)
- Constructor with partial specification.
- Parameters:
size - number of elements initially allowed in queue
StringQueue
public StringQueue()
- Default constructor.
StringQueue
public StringQueue(StringQueue base)
- Copy (clone) constructor.
- Parameters:
base - instance being copied
getArray
protected java.lang.Object getArray()
- Get the backing array. This method is used by the type-agnostic base
class code to access the array used for type-specific storage.
- Overrides:
getArray in class GrowableBase
- Returns:
- backing array object
setArray
protected void setArray(java.lang.Object array)
- Set the backing array. This method is used by the type-agnostic base
class code to set the array used for type-specific storage.
- Overrides:
setArray in class GrowableBase
- Parameters:
backing - array object
add
public void add(java.lang.String item)
- Add an item at the end of the queue. If necessary, the array used for
storing the queue data is grown before storing the added item.
- Parameters:
item - item to be added
remove
public java.lang.String remove()
- Remove an item from the start of the queue.
- Returns:
- item removed from queue
- Throws:
IllegalStateException - on attempt to remove an item from an
empty queue
iterator
public final java.util.Iterator iterator()
- Return an iterator for the
Strings in this queue. The
iterator returns all values in order, but is not "live". Values
added to the queue during iteration will not be returned by the
iteration, and any other changes to the queue while the iteration is
in progress will give indeterminant results.
- Returns:
- iterator for values in queue
toArray
public java.lang.String[] toArray()
- Constructs and returns a simple array containing the same data as held
in this growable array.
- Returns:
- array containing a copy of the data
clone
public java.lang.Object clone()
- Duplicates the object with the generic call.
- Overrides:
clone in class java.lang.Object
- Returns:
- a copy of the object