Clase Java Stack
La pila es una subclase de Vector, que implementa una pila estándar de último en entrar, primero en salir (LIFO).
La pila solo define un constructor predeterminado para crear una pila vacía. Además de incluir todos los métodos definidos por Vector, la pila también define algunos métodos propios.
Stack()
Además de todos los métodos definidos por Vector, también define algunos métodos propios:
| N.º | Descripción del método |
|---|---|
| 1 |
boolean empty() Comprueba si la pila está vacía. |
| 2 |
Object peek( ) Examina el objeto en la cima de la pila sin eliminarlo. |
| 3 |
Object pop( ) Elimina el objeto en la cima de la pila y lo devuelve como valor de esta función. |
| 4 |
Object push(Object element) Empuja un elemento a la cima de la pila. |
| 5 |
int search(Object element) Devuelve la posición del objeto en la pila con base 1. |
Ejemplo
El siguiente programa demuestra varios métodos soportados por esta colección.
Ejemplo
import java.util.*;
public class StackDemo {
static void showpush(Stack<Integer> st, int a) {
st.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println("stack: " + st);
}
static void showpop(Stack<Integer> st) {
System.out.print("pop -> ");
Integer a = (Integer) st.pop();
System.out.println(a);
System.out.println("stack: " + st);
}
public static void main(String args[]) {
Stack<Integer> st = new Stack<Integer>();
System.out.println("stack: " + st);
showpush(st, 42);
showpush(st, 66);
showpush(st, 99);
showpop(st);
showpop(st);
showpop(st);
try {
showpop(st);
} catch (EmptyStackException e) {
System.out.println("empty stack");
}
}
}
El resultado de compilar y ejecutar el ejemplo anterior es el siguiente:
stack: [ ] push(42) stack: [42] push(66) stack: [42, 66] push(99) stack: [42, 66, 99] pop -> 99 stack: [42, 66] pop -> 66 stack: [42] pop -> 42 stack: [ ] pop -> empty stackOtras extensiones