Una pila es una estructura que nos permite apilar elementos y recopilarlos en el orden inverso al cual los apilamos mediante operaciones de desapilar. Esto es lo que se conoce como estructuras LIFO (Last In First Out). De esta manera una pila suele tener 3 operaciones básicas:
- apilar, añade un elemento a la lista.
- desapilar, retira un elemento de la lista
- ¿está vacía?, comprueba si la lista está vacía
En el lenguaje Java contamos con la clase Stack en la librería java.util. Es importante saber que la pila hereda de la pila (aka Vector). Y que por lo tanto podemos utilizar los elementos del Vector sobre la pila.
En nuestro ejemplo vamos a insertar 10 elementos, que serán números, y los recuperaremos en su orden inverso.
Lo primero será definir la pila, es decir, instanciar la clase Stack.
1 | Stack<String> pila = new Stack<String>(); |
Como vemos el tipo de elementos que insertaremos en la pila serán String -cadenas-.
Una vez instanciada vamos a ir creando los elementos e insertándolos en la pila. El método que inserta elementos en la pila es .push(). Este método recibirá como parámetro el elemento a insertar.
1 2 | for (int x=1;x<=10;x++) pila.push(Integer.toString(x)); |
Hemos creado un bucle que nos vaya creando los números y nos hemos apoyado en la clase Integer y su método .toString() para convertir los números en cadena.
Una vez que tenemos todos los elementos, procedemos al vaciado de la pila. Tendremos que interactuar sobre la pila hasta que esta esté vacía, cosa que nos dice el método .empty(). En cada una de las iteraciones extraeremos un elemento de la pila mediante el método .pop()
1 2 | while (!pila.empty()) System.out.println(pila.pop()); |






Escribe un comentario
You must be logged in to post a comment.