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