From f5ad671ebc6ae3e0c3a3d93976eca3f483185d14 Mon Sep 17 00:00:00 2001 From: bjculkin Date: Thu, 16 Mar 2017 14:35:14 -0400 Subject: Stack updates. --- .../src/main/java/bjc/utils/esodata/SpaghettiStack.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'BJC-Utils2/src/main/java/bjc/utils/esodata/SpaghettiStack.java') 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 extends Stack { 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(); + } } -- cgit v1.2.3