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 UnsupportedOperationException();
}
return elementData.remove(elementData.size()-1);
}
public Object peek(){
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("Stack: [ ");
Iterator iter = elementData.iterator();
while (iter.hasNext()) {
builder.append(iter.next());
builder.append(" ");
}
builder.append("]");
return builder.toString();
}
}