Pilas en Java

Pilas - Stack

Las Pilas (Stack en ingles), son estructuas de datos en donde el acceso a sus elementos es de tipo LIFO (Last In First Out), en donde el ultimo elemento en entrar, es el primero en salir. Podemos pensar en una pila de libros, en donde el acomodo de los libros se hace poniendo un libros, encimo del otro, y si quisieramos sacar un libro tendriamos que hacerlo desde el ultimo libro que hemos acomodado hasta encontrar el libro que deseamos. De igual manera trabajan las Pilas, sus elementos se van guardando o apilando uno encima de otro, y cuando queremos sacar un elemento, se procede a retirar el ultimo elemento que se a insertado en la pila.

La interfas Stack, que es la que nos proporciona JAVA para poder crear pilas, extiende de la Clase Vector y por lo tanto como ya sabemos esta hereda todos los metodos que tienen la Clase Vector. Esta interfas contiene 5 operaciones que nos permite tratar un Vector como un Pila.

Las Operaciones basicas para el manejo de una Pila son:
  • Push(E item)
    • Este metodo tienen como parametro un objeto, que es el que vamos a introducir en nuestra pila.
  • pop()
    • Este metodo nos permite eliminar un elemento de nuestra pila, nos retorna el objeto eliminado.
  • peek()
    • Este metodo nos sirve de consulta, nos retorna el elemento que se encuentra en la cima o en el tope de nuestra pila sin eliminarlo.
  • empty()
    • Este metodo nos devuelve un boolean, que nos indica si la pila esta o no esta vacia.
  • search(Object o)
    • Devuelve la posición en base 1, donde un objeto esta en la pila.

Esta interfas Stack la podemos encontrar en el paquete Java.util.Stack, si queremos utilizar esta interfas en nuestro proyecto primero tenemos que importarla.
import java.util.Stack;
Para poder utilizar los metodos de esta interfas, tenemos que crearnos un objeto de esta clase.
Stack pila = new Stack(); 
En el siguiente recuadro, podemos ver los metodos que nos permiten insertar y eliminar elementos de una pila.
Throws exception Retorna un valor
Insertar add(e) push(E)
Remover remove(E) pop()
Examinar get(index) peek()
Luego nos podemos crear un metodo que nos va a permitir dibujar nuestra pila y ver el funcionamiento y comportamiento de una manera grafica.
public String dibujar() {
        String s = "";
        if(!Vacia()){
            for (int i=0; i < pila.size(); i++) {
                s =  pila.get(i)+ "\n" + s; 
            }
        }
        return s;
    }
Clase Stack Documentación JAVA

Ver vídeo del Proyecto
Descarga Proyecto Pilas