package com.coding.basic; import java.util.EmptyStackException; public class Stack { private ArrayList elementData = new ArrayList(); public void push(Object o) { elementData.add(elementData.size(), o); } public Object pop() { int size = elementData.size(); if(size==0) { throw new EmptyStackException(); } Object rt = elementData.get(size-1); elementData.remove(size-1); return rt; } public Object peek() { if(elementData.size()==0) { throw new EmptyStackException(); } return elementData.get(elementData.size()-1); } public boolean isEmpty() { return 0==elementData.size(); } public int size() { return elementData.size(); } public static void main(String []args) { Stack st = new Stack(); System.out.println("is Empty:"+ st.isEmpty()); for(int i=0;i<10;i++) { st.push("s="+ i); } System.out.println("is Empty:"+ st.isEmpty()); System.out.println(st.peek()); for(int i=0;i<10;i++) { System.out.println("pop->" + st.pop()); } System.out.println("is Empty:"+ st.isEmpty()); } }