public class ObjectQueue
extends java.lang.Object
implements java.lang.Cloneable
ObjectQueue
is a queue of references to objects.
Limitations:
(1) The capacity of one of these queues can change after it's created, but
the maximum capacity is limited by the amount of free memory on the
machine. The constructor, add
, clone
,
and union
will result in an
OutOfMemoryError
when free memory is exhausted.
(2) A queue's capacity cannot exceed the maximum integer 2,147,483,647
(Integer.MAX_VALUE
). Any attempt to create a larger capacity
results in a failure due to an arithmetic overflow.
Java Source Code for this class:
http://www.cs.colorado.edu/~main/edu/colorado/collections/ObjectQueue.java
ObjectLinkedQueue
,
BooleanQueue
,
ByteQueue
,
CharQueue
,
DoubleQueue
,
FloatQueue
,
IntQueue
,
LongQueue
,
ShortQueue
Constructor and Description |
---|
ObjectQueue()
Initialize an empty queue with an initial capacity of 10.
|
ObjectQueue(int initialCapacity)
Initialize an empty queue with a specified initial capacity.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Generate a copy of this queue.
|
void |
ensureCapacity(int minimumCapacity)
Change the current capacity of this queue.
|
int |
getCapacity()
Accessor method to get the current capacity of this queue.
|
java.lang.Object |
getFront()
Get the front item, removing it from this queue.
|
void |
insert(java.lang.Object item)
Insert a new item in this queue.
|
boolean |
isEmpty()
Determine whether this queue is empty.
|
int |
size()
Accessor method to determine the number of items in this queue.
|
void |
trimToSize()
Reduce the current capacity of this queue to its actual size (i.e., the
number of items it contains).
|
public ObjectQueue()
insert
method works efficiently (without needing more
memory) until this capacity is reached.
Postcondition:
This queue is empty and has an initial capacity of 10.java.lang.OutOfMemoryError
- Indicates insufficient memory for:
new Object[10]
.public ObjectQueue(int initialCapacity)
insert
method works efficiently (without needing more
memory) until this capacity is reached.initialCapacity
- the initial capacity of this queue
Precondition:
initialCapacity
is non-negative.
Postcondition:
This queue is empty and has the given initial capacity.java.lang.IllegalArgumentException
- Indicates that initialCapacity is negative.java.lang.OutOfMemoryError
- Indicates insufficient memory for:
new Object[initialCapacity]
.public java.lang.Object clone()
clone
in class java.lang.Object
ObjectQueue
before it can be used.java.lang.OutOfMemoryError
- Indicates insufficient memory for creating the clone.public void ensureCapacity(int minimumCapacity)
minimumCapacity
- the new capacity for this queue
Postcondition:
This queue's capacity has been changed to at least minimumCapacity
.
If the capacity was already at or greater than minimumCapacity
,
then the capacity is left unchanged.java.lang.OutOfMemoryError
- Indicates insufficient memory for: new Object[minimumCapacity]
.public int getCapacity()
insert
method works efficiently (without needing
more memory) until this capacity is reached.public java.lang.Object getFront()
java.util.NoSuchElementException
- Indicates that this queue is empty.public void insert(java.lang.Object item)
item
- the item to be pushed onto this queue
Postcondition:
The item has been pushed onto this queue.java.lang.OutOfMemoryError
- Indicates insufficient memory for increasing the queue's capacity.
Note:
An attempt to increase the capacity beyond
Integer.MAX_VALUE
will cause the queue to fail with an
arithmetic overflow.public boolean isEmpty()
true
if this queue is empty;
false
otherwise.public int size()
public void trimToSize()
java.lang.OutOfMemoryError
- Indicates insufficient memory for altering the capacity.