package pi;

import java.util.ArrayList;
import java.util.List;

public class FastStack<T> {
    private List<T> list = new ArrayList<T>(10);
    
    public void pop() {
        list.remove(list.size() - 1);
    }
    
    public T peek() {
        return list.get(list.size() - 1);
    }
    
    public void push(T t) {
        list.add(t);
    }
    
    public boolean isEmpty() {
        return list.isEmpty();
    }
//    private Object[] array = new Object[10];
//    private int pointer = -1;
//    
//    public void pop() {
//        pointer--;
//    }
//    
//    public T peek() {
//        return (T) array[pointer];
//    }
//    
//    public void push(T t) {
//        if(pointer >= array.length) {
//            Object[] newArray = new Object[array.length << 1];
//            System.arraycopy(array, 0, newArray, 0, array.length);
//            array = newArray;
//        }
//        array[++pointer] = t;
//    }
//    
//    public boolean isEmpty() {
//        return pointer < 0;
//    }
}
