summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java b/BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java
index c5e338b..fdf9cc8 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java
@@ -1,5 +1,8 @@
package bjc.utils.esodata;
+import java.util.Arrays;
+import java.util.stream.Stream;
+
/*
* Implements a spaghetti stack, which is a stack that is branched off of a
* parent stack.
@@ -52,4 +55,15 @@ class SpaghettiStack<T> extends Stack<T> {
public boolean empty() {
return backing.empty() && parent.empty();
}
+
+ @Override
+ public String toString() {
+ return "[base=" + parent.toString() + ", own=" + backing.toString() + "]";
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public T[] toArray() {
+ return (T[]) Stream.concat(Arrays.stream(parent.toArray()), Arrays.stream(backing.toArray())).toArray();
+ }
}