martes, 17 de noviembre de 2015

Pilas en Java


Una pila básicamente es una estructura que nos permite apilar elementos y recopilarlos en el orden inverso al cual los vamos apilando mediante operaciones de des-apilar. Su estructura es LIFO (Last In First Out) que quiere decir que el ultimo proceso apilado , sera el primero en salir. Esta estructura tiene 3 operaciones básicas:

  • Apilar (push): añade un elemento a la lista.
  • Desapilar (pop): retira un elemento de la lista
  • Peek: consulta el primer elemento de la cima de la pila
  • Empty: comprueba si la pila está vacía.
  • Searchbusca un determinado elemento dentro de la pila y devuelve su posición dentro de ella.
  • Condición: ¿está vacía la pila de datos?: comprueba si la lista está vacía

Para la utilización de esta estructura en el lenguaje Java contamos con la clase Stack en la librería java.util.

Para dar un ejemplo de una pila utilizaremos un ejercicio sencillo el cual consiste en ingresar 10 elementos, que en este caso van a ser enteros, mediante el método push de la clase pila. Además se va a extraerlos mediante el método pop de la misma clase.

Nota: se transforman los elementos enteros a tipo "string" para almacenarlos.

Ejemplo:

import java.util.Stack;
public class Main 
{
 public static void main(String[] args) 
 {
  Stack pila = new Stack();
  for(int i=0;i<10;i++)
  {
   pila.push(Integer.toString(i));
  }
  while(!pila.empty())
  {
   System.out.println(pila.pop());
  }
 }
}






Ejemplo en consola:




Conclusiones:


El uso de pilas es una manera muy práctica de almacenamiento, que lleva muchas ventajas consigo así como la facilidad de aplicación de sus métodos, en este caso colocar elementos en una pila (push) como también sacarlos (pop) y mostrarlos en consola. 

Vídeos Explicativos:







2 comentarios:

  1. How to Play Baccarat in Virtual Reality - Worrione
    The Baccarat table is a set of septcasino six balls with the lowest point and 바카라 the highest point. It's easy to pick up when 인카지노 you're playing with a single

    ResponderEliminar