package com.circle.collection;
/**
* Created by keweiyang on 2017/2/25.
* 自定义Stack,此Stack是基于ArrayList实现的
*/
public class Stack {
private ArrayList elementData = new ArrayList(4);
/**
* 入栈
*
* @param o
*/
public void push(Object o) {
elementData.add(o);
}
/**
* 出栈
*
* @return
*/
public Object pop() {
Object ret = null;
if (elementData.size() > 0) {
ret = elementData.remove(elementData.size() - 1);
}else{
throw new RuntimeException("栈中没有元素");
}
return ret;
}
/**
* 获取栈顶元素
*
* @return
*/
public Object peek() {
Object ret = null;
if (elementData.size() > 0) {
ret = elementData.get(elementData.size() - 1);
} else {
throw new RuntimeException("栈中没有元素");
}
return ret;
}
public boolean isEmpty() {
return elementData.size() <= 0;
}
public int size() {
return elementData.size();
}
}