package org.wsc.coding.basic.stack; import org.wsc.coding.basic.list.ArrayList; /** * 栈 * * @author Administrator * @date 2017年4月7日下午3:06:06 * @version v1.0 * * @param <E> */ public class Stack<E> { private ArrayList<E> elementData = new ArrayList<E>(); /** * 将元素压入栈顶 * * @param e */ public void push(E e) { elementData.add(e); } /** * 弹出栈顶元素 * * @return */ public E pop() { return elementData.remove(elementData.size() - 1); } /** * 观察栈顶元素 * * @return */ public E peek() { return elementData.get(elementData.size() - 1); } /** * 是否为空 * * @return */ public boolean isEmpty() { return elementData.isEmpty(); } /** * 栈深度 * * @return */ public int size() { return elementData.size(); } @Override public String toString() { StringBuffer str = new StringBuffer(); str.append("["); for (int i = 0; i < elementData.size(); i++) { str.append(elementData.get(i)); if(i < elementData.size()-1) str.append(", "); } str.append("]"); return str.toString(); } }