Colas¶
Una cola es una lista lineal en la que todas las inserciones se hacen por un extremo de la lista (por el final) y todas las supresiones se hacen por el otro extremo (por el principio). Por ejemplo, una fila en la caja del supermercado. Este tipo de listas recibe también el nombre de listas FIFO (first in first out – primero en entrar, primero en salir). Este orden es la única forma de insertar y recuperar un elemento de la cola. Una cola no permite acceso aleatorio a un elemento específico. Ten en cuenta que la operación de sacar elimina el elemento de la cola.
En Java, clase Queue¶
En Java, podemos implementar colas utilizando la clase Queue
.
Método | Descripción |
---|---|
add()/offer() | Inserta un elemento en la cola |
remove/poll() | Elimina el elemento superior de la cola. |
peek()/element() | Devuelve el elemento superior de la cola sin eliminarlo. |
isEmpty() | Verifica si la cola está vacía. |
public class ApplicationMain {
public static void main(String[] args) {
//Colas con la clase Dequeue
Queue<String> colas = new ArrayDeque<>();
colas.add("Amador");
colas.add("Alex");
colas.add("Pedro");
System.out.println(colas);
//Eliminar el primer elimento
System.out.println(colas.poll());
System.out.println(colas);
}
}
Actividad¶
-
AC 905 (RA6 / CE6a CE6b CE6e CE6f / IC1 / 3p). Realiza la creación de un simulador de una cola de impresión simulada. Los usuarios pueden agregar documentos a la cola (enqueue), imprimir un documento de la cola (print), imprimir todos los documentos de la cola (print-all), mostrar todos los documentos en la cola (show), o salir del programa (exit).
En caso de impresión se deberá poner un tiempo aleatorio en cada ocasión.