Cola FIFO en Java

Rashmi Patidar 12 octubre 2023
Cola FIFO en Java

Una cola es una estructura de datos lineal que implementa el concepto de primero en entrar, primero en salir. El concepto significa que los elementos que entran primero son los primeros en salir.

Los términos técnicos para representar la Queue utilizan los extremos delantero y trasero. Los elementos se agregan a la Queue desde la parte trasera y se sacan por la parte delantera.

El ejemplo del mundo real del concepto es la fila del mostrador de boletos, donde la persona que se encuentra en la primera posición obtiene el boleto primero. Ahora en Java, el concepto o la estructura de datos se implementa en la interfaz Queue. La interfaz está presente en el paquete java.util.

A continuación se muestra el bloque de código que demuestra la estructura de la cola.

package F10;

import java.util.LinkedList;
import java.util.Queue;

public class Main {
  public static void main(String[] args) {
    Queue queue = new LinkedList<String>();
    queue.add("First");
    queue.add("Second");
    queue.add("third");
    System.out.println("Created Queue: " + queue);
    String value = (String) queue.remove();
    System.out.println("The element deleted from the head is: " + value);
    System.out.println("The queue after deletion: " + queue);
    String head = (String) queue.peek();
    System.out.println("The head of the present queue is: " + head);
    int size = queue.size();
    System.out.println("The size of the queue is: " + size);
  }
}

Hay varias formas de implementar la estructura de datos Queue en Java. En el bloque de código anterior, el uso de LinkedList implementa el concepto.

En primer lugar, se crea una instancia de una referencia de Queue utilizando la declaración new LinkedList. El método add está presente en la interfaz Queue, que inserta el elemento especificado en la Queue. La función devuelve booleano true cuando se agrega el valor.

El método puede lanzar la IllegalStateException cuando el elemento no se puede agregar debido a restricciones de tamaño. También arroja NullPointerException cuando el valor pasado es nulo. Cuando el conjunto inicial de elementos se agrega a la lista, se imprime la Cola. La instrucción System.out.println toma la cadena que debe imprimirse.

A continuación, se llama a la función remove sobre la instancia de Queue. Eliminará el elemento presente en la cabecera de la cola y, por lo tanto, devolverá el elemento principal.

Existe una función similar poll que también elimina el elemento presente en la cabeza. La única diferencia radica en la función remove que arroja NoSuchElementException cuando la cola está vacía. Los valores eliminados se almacenan en una variable y se imprimen. La Cola restante se imprime para comprobar los elementos restantes.

La función peek recupera el elemento superior de la cola y no lo elimina; es una forma de comprobar el elemento en la cabecera de la cola. La función devuelve el valor principal y arroja NoSuchElementException cuando la cola está vacía. La función size está presente en la interfaz Collections y devuelve el tamaño de la colección. Entonces, este método imprime el tamaño de los elementos sobrantes en la Cola.

Producción :

Created Queue: [First, Second, third]
The element deleted from the head is: First
The Queue after deletion: [Second, third]
The head of the present Queue is: Second
The size of the Queue is: 2
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Artículo relacionado - Java Queue