package com.coding.basic.stack;
import com.coderising.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 RuntimeException("Stack is empty.");
return elementData.remove(elementData.size()-1);
}
public Object peek(){
if(elementData.size()==0)throw new RuntimeException("Stack is empty.");
return elementData.get(elementData.size()-1);
}
public boolean isEmpty(){
return (elementData.size()==0);
}
public int size(){
return elementData.size();
}
@Override
public String toString(){
return elementData.toString();
}
public static void main(String[] args){
Stack s = new Stack();
s.push("aaa");
s.push("bbb");
s.push("ccc");
System.out.println(s);
System.out.println(s.isEmpty());
System.out.println(s.size());
System.out.println(s.peek());
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s);
System.out.println(s.isEmpty());
System.out.println(s.size());
//System.out.println(s.pop());
}
}