package com.github.qq809203042.coding2017.basic.structures;
import java.util.ArrayList;
public class MyStack {
private ArrayList<Object> elementData = new ArrayList<Object>();
// 栈指针
private int pos;
// 压栈
public Object push(Object obj) {
elementData.add(obj);
pos++;
return obj;
}
// 弹栈
public Object pop() {
if(isEmpty()){
throw new StackOverflowError("栈溢出");
}
return elementData.remove(--pos);
}
// 返回栈顶对象
public Object peek() {
int topIndex = pos -1;
return elementData.get(topIndex);
}
public boolean isEmpty() {
return pos == 0;
}
public int size() {
return pos;
}
@Override
public String toString() {
return elementData.toString();
}
}