package com.coding.basic.datastructure.stack;
import com.coding.basic.datastructure.array.ArrayList;
/**
* Created by zt on 2017/2/19.
*/
public class Stack {
private ArrayList elementData = null;
private int size = 0;
public Stack() {
elementData = new ArrayList();
}
public void push(Object object) {
elementData.add(object);
size++;
}
public Object pop() {
checkIsEmpty();
Object peekObject = peek();
elementData.remove(size - 1);
size--;
return peekObject;
}
public Object peek() {
checkIsEmpty();
return elementData.get(size - 1);
}
private void checkIsEmpty() {
if (isEmpty()) {
throw new RuntimeException("stack is empty");
}
}
public boolean isEmpty() {
return size() == 0;
}
public int size() {
return size;
}
}