package com.ikook.basic_data_structure; /** * @author ikook; QQ号码: 935542673 */ public class MyStack { private MyArrayList elementDate = new MyArrayList(); /** * 入栈操作 * @param obj */ public void push(Object obj) { elementDate.add(obj); } /** * 出栈操作 * @return */ public Object pop() { emptyExce(); return elementDate.remove(topIndex()); } /** * 获取栈顶元素 * @return */ public Object getTop() { emptyExce(); return elementDate.get(topIndex()); } /** * 判断栈是否为空 * @return */ public boolean isEmpty() { return size() == 0; } /** * 获取栈的深度 * @return */ public int size() { return elementDate.size(); } /** * 栈顶元素所在索引封装类 * @return */ private int topIndex() { return size() - 1; } /** * 队列为空异常处理封装类 */ private void emptyExce() { if (isEmpty()) { try { throw new Exception("队列为空"); } catch (Exception e) { e.printStackTrace(); } } } }