import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class TestStack {
	public static void main( String[] args )
	{
		Stack bin = new Stack();
		bin.prString();
		System.out.println(bin.isEmpty());
		bin.push("Ball");
		bin.prString();
		bin.push("Box");
		bin.push("Beans");
		bin.prString();
		bin.peek();
		bin.prString(); 
		bin.pop(); 
		bin.prString();
		System.out.println(bin.getSize());
	}
}

class Stack	// implement stack as an ArrayList
{	
	ArrayList<Object> myStack ; 
	
	// constructor 
	Stack()
	{
		myStack = new ArrayList<>();
	}
	// isEmpty
	public boolean isEmpty()
	{
		return myStack.size() == 0;
	}
	// getSize
	public int getSize()
	{
		return myStack.size();
	}
	// peek
	public Object peek()
	{
		return myStack.getLast();
	}
	// pop
	public Object pop()
	{
		return myStack.removeLast();
	}
	// push
	public void push( Object obj )
	{
		myStack.add( obj );
	}
	// prString
	public void prString()
	{
		System.out.println( myStack );
	}
}

