summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
diff options
context:
space:
mode:
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.java41
1 files changed, 36 insertions, 5 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 a2c2f32..005c90e 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/esodata/QueueStack.java
@@ -29,14 +29,14 @@ 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();
}
@@ -49,15 +49,46 @@ public class QueueStack<T> extends Stack<T> {
public boolean empty() {
return backing.size() == 0;
}
-
+
@Override
public String toString() {
- return backing.toString();
+ StringBuilder builder = new StringBuilder();
+
+ builder.append("QueueStack [backing=");
+ builder.append(backing);
+ builder.append("]");
+
+ return builder.toString();
}
-
+
@SuppressWarnings("unchecked")
@Override
public T[] toArray() {
return (T[]) backing.toArray();
}
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+
+ result = prime * result + ((backing == null) ? 0 : backing.hashCode());
+
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if(this == obj) return true;
+ if(obj == null) return false;
+ if(getClass() != obj.getClass()) return false;
+
+ QueueStack<?> other = (QueueStack<?>) obj;
+
+ if(backing == null) {
+ if(other.backing != null) return false;
+ } else if(!backing.equals(other.backing)) return false;
+
+ return true;
+ }
}