package com.coding.basic; /** * 栈(堆栈),特点先进后出的特点 * * @author Administrator * */ public class Stack { private ArrayList elementData = new ArrayList(); private int size = 0; /** * 在堆栈顶部中添加一个元素 * * @param o */ public void push(Object o) { elementData.add(o); size++; } /** * 在堆栈顶部移去一个元素 * * @return */ public Object pop() { Object o = elementData.remove(size - 1); size--; return o; } /** * 总是返回栈顶的元素 * * @return */ public Object peek() { return elementData.get(size - 1); } public boolean isEmpty() { return size == 0; } public int size() { return size; } }