package com.coding.basic.stack;
import java.util.EmptyStackException;
import com.coding.basic.array.ArrayList;
public class Stack {
private ArrayList elementData = new ArrayList();
public void push(Object o) {
elementData.add(o);
}
public Object pop() {
checkBound();
return elementData.remove(size() - 1);
}
public Object peek() {
checkBound();
return elementData.get(size() - 1);
}
public boolean isEmpty() {
return size() == 0;
}
public int size() {
return elementData.size();
}
private void checkBound() {
if (isEmpty()) {
throw new EmptyStackException();
}
}
public String toString(){
StringBuilder sb = new StringBuilder();
for(int i=0;i<elementData.size();i++){
sb.append(elementData.get(i));
if(i < elementData.size() - 1)
sb.append(",");
}
return sb.toString();
}
}