package hw1; // mini jvm 用来做函数调用,比如表达式求值啦,都会用到栈 public class Stack { // 动态需要的成员属性 private int size = 0; // ArrayList 使用我们自己定义的数据结构,自己吃自己的狗粮 private ArrayList elementData = new ArrayList(); // 估计先调用自己吧 // push对内部而言就是向数组插入一个元素,吃自己的狗粮了,狗粮是之前做的独立的 public void push(Object o) { elementData.add(o); size++; } // 弹出一个元素,内部实现就是删除一个元素 public Object pop() { // Object temp; temp = elementData.remove(size); size--; // 单独写,保证代码可读性 return temp; } public boolean isEmpty() { if (size == 0) { return true; } else { return false; } } public Object peek() { return elementData.get(size-1); } public int size() { return size; } }