diff options
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.java | 14 |
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(); + } } |
