package com.coding.basic; /** * author zhougd 20170306 * */ public class Stack { private List elementData = new ArrayList(); public Stack() { } /** * 入栈 * @param o */ public void push(Object o){ elementData.add(o); } /** * 出栈 * @return */ public Object pop(){ if(this.isEmpty()){ throw new IndexOutOfBoundsException("stack is empty!"); } Object element = elementData.get(size()-1); elementData.remove(size()-1); return element; } /** * 查看栈顶元素 * @return Object */ public Object peek(){ if(this.isEmpty()){ throw new IndexOutOfBoundsException("stack is empty!"); } Object element = elementData.get(size()-1); return element; } /** * 查看栈是否为空 * @return boolean */ public boolean isEmpty(){ return elementData == null || elementData.size()<=0; } /** * 获取栈大小 * @return */ public int size(){ return elementData.size(); } }