package com.coding.basic;
import java.util.EmptyStackException;
/**
* A Simple Stack
*/
public class Stack<E> {
private ArrayList<E> elementData;
/**
* 压入栈顶
*
* @param e
*/
public void push(E e) {
elementData.add(e);
}
/**
* 取出栈顶元素
*
* @return
*/
public E pop() {
return elementData.remove(elementData.size() - 1);
}
/**
* 查看栈顶元素
*
* @return
*/
public E peek() {
if(isEmpty()){
throw new EmptyStackException();
}
return elementData.get(elementData.size() - 1);
}
/**
* 栈内是否有元素
*
* @return
*/
public boolean isEmpty() {
return elementData.size() == 0;
}
/**
* 栈顶内元素个数
*
* @return
*/
public int size() {
return elementData.size();
}
public Stack() {
elementData = new ArrayList<E>();
}
}