summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
diff options
context:
space:
mode:
authorbjculkin <bjculkin@mix.wvu.edu>2017-03-16 14:35:14 -0400
committerbjculkin <bjculkin@mix.wvu.edu>2017-03-16 14:35:14 -0400
commitf5ad671ebc6ae3e0c3a3d93976eca3f483185d14 (patch)
treec4cdf1016f3c9ffefbcb958df4a1873eb9729f86 /BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
parent026fdcb3fa9f42ad1db0eb5b9d532865f6ddc80b (diff)
Stack updates.
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java b/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
index c1a21b6..a2c2f32 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
@@ -6,7 +6,7 @@ import java.util.LinkedList;
/**
* A FIFO implementation of a stack.
*
- * @param T
+ * @param <T>
* The datatype stored in the stack.
* @author Ben Culkin
*/
@@ -28,11 +28,15 @@ public class QueueStack<T> extends Stack<T> {
@Override
public T pop() {
+ if(backing.isEmpty()) throw new StackUnderflowException();
+
return backing.remove();
}
@Override
public T top() {
+ if(backing.isEmpty()) throw new StackUnderflowException();
+
return backing.peek();
}
@@ -45,4 +49,15 @@ public class QueueStack<T> extends Stack<T> {
public boolean empty() {
return backing.size() == 0;
}
+
+ @Override
+ public String toString() {
+ return backing.toString();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public T[] toArray() {
+ return (T[]) backing.toArray();
+ }
}