首先声明几个要实现的方法
public interface Stack<E> { E pop(); E peek(); void push(E e); int getSize(); boolean isEmpty(); }
紧接着结合动态数组进行包装
public class ArrayStack<E> implements Stack<E> { Array<E> array; public ArrayStack(){ array =new Array<E>(); } @Override public E pop() { return array.removeLast(); } @Override public int getSize() { return array.getSize(); } @Override public void push(E e) { array.addLast(e); } @Override public boolean isEmpty() { return array.isEmpty(); } @Override public E peek() { return array.getLast(); } @Override public String toString(){ StringBuilder ab=new StringBuilder(); ab.append("Stack ["); for (int i=0;i<array.getSize();i++){ ab.append(array.get(i)); if (i!=array.getSize()-1) ab.append(", "); } ab.append("] top "); return ab.toString(); } }