java中Generic Stack的print方法

时间:2016-10-31 02:34:27

标签: java generics data-structures

我找到解决这个特殊问题的方法时遇到了问题。 我有这类通用堆栈。

    class Pilita<T> {
private int tam;
private T[] arregloPila;
private int tope; 

@SuppressWarnings("unchecked")
public Pilita(int tam) {
       this.tam=tam;
       arregloPila=(T[])new Object[tam];
       tope=-1;
}
public void push(T valor){
       if(pilaLlena()){
              throw new StackFullException("No se puede meter el: "+"["+valor+"]"+" La pila esta llena");
       }
       arregloPila[++tope]=valor;
}
public T pop() {
       if(pilaVacia()){
              throw new StackEmptyException("La pila esta vacia");
       }
       return arregloPila[tope--]; 
}
public boolean pilaVacia(){
       return (tope == -1);
}
public boolean pilaLlena(){
       return (tope==tam-1);
}
public int contar(){
 return(tope+1);   
}

我想知道如何实现一个打印堆栈的方法,因为我有一个普通堆栈的方法,但它似乎不适用于Generic Stack。

任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:0)

要打印所有堆栈,您只需要检查堆栈是否为空

public static void main(String[] args) {
        Pilita pila = new Pilita(3);
        pila.push("1");
        pila.push("2");
        pila.push("3");
        while (!pila.pilaVacia()) {
            System.out.println("Pil pop " + pila.pop());
        }
    }