1 public class Test_21_1<E> {
2 private int size;
3 private static final int CAPACITY = 3;
4 private E array[];
5
6 public Test_21_1(){
7 this(CAPACITY);
8 }
9
10 public Test_21_1(int n){
11 array = (E[]) new Object[n];
12 }
13
14 public int getSize(){
15 return size;
16 }
17
18 public E peek(){
19 // return the top value
20 return array[size - 1];
21 }
22
23 public void push(E o){
24 //add element
25 if(size >= array.length) {
26 Object[] temp = new Object[array.length * 2];
27 System.arraycopy(array, 0, temp, 0, array.length);
28 array = (E[]) temp;
29 }
30 array[size++] = o;
31 }
32
33 public E pop(){
34 //return and remove the top element
35 return array[--size];
36 }
37
38 public boolean isEmpty(){
39 return size == 0;
40 }
41
42 public static void main(String[] args) {
43 // TODO Auto-generated method stub
44 int j;
45 Test_21_1<String> t = new Test_21_1<String>();
46
47 t.push("red");
48 t.push("blue");
49 t.push("black");
50
51 j = t.size;
52 // for( int i = 0; i < j; i++)
53 // System.out.println(t.pop());
54 // System.out.println(t.peek());
55 }
56
57 }