Interfaz de cola de Java

En este tutorial, aprenderemos sobre la interfaz Java Queue y sus métodos.

La Queueinterfaz del marco de colecciones de Java proporciona la funcionalidad de la estructura de datos de la cola. Extiende la Collectioninterfaz.

Clases que implementan cola

Dado que Queuees una interfaz, no podemos proporcionar la implementación directa de la misma.

Para usar las funcionalidades de Queue, necesitamos usar clases que lo implementen:

  • ArrayDeque
  • Lista enlazada
  • PriorityQueue

Interfaces que amplían la cola

La Queueinterfaz también se amplía con varias subinterfaces:

  • Deque
  • BlockingQueue
  • BlockingDeque

Trabajo de la estructura de datos de la cola

En las colas, los elementos se almacenan y se accede a ellos de la manera primero en entrar, primero en salir . Es decir, los elementos se agregan desde atrás y se eliminan desde el frente .

¿Cómo usar Queue?

En Java, debemos importar el java.util.Queuepaquete para poder usar Queue.

 // LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue(); 

Aquí, hemos creado objetos animal1, animal2 y animal3 de clases LinkedList, ArrayDequey PriorityQueuerespectivamente. Estos objetos pueden utilizar las funcionalidades de la Queueinterfaz.

Métodos de cola

La Queueinterfaz incluye todos los métodos de la Collectioninterfaz. Es porque Collectiones la super interfaz de Queue.

Algunos de los métodos de Queueinterfaz más utilizados son:

  • add () : inserta el elemento especificado en la cola. Si la tarea es exitosa, add()regresa true, si no, lanza una excepción.
  • oferta () : inserta el elemento especificado en la cola. Si la tarea tiene éxito, offer()regresa true, si no, regresa false.
  • element () : devuelve el encabezado de la cola. Lanza una excepción si la cola está vacía.
  • peek () : devuelve el encabezado de la cola. Devuelve nullsi la cola está vacía.
  • remove () : devuelve y elimina el encabezado de la cola. Lanza una excepción si la cola está vacía.
  • poll () : devuelve y elimina el encabezado de la cola. Devuelve nullsi la cola está vacía.

Implementación de la interfaz de cola

1. Implementación de la clase LinkedList

 import java.util.Queue; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating Queue using the LinkedList class Queue numbers = new LinkedList(); // offer elements to the Queue numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) ) 

Salida

 Cola: (1, 2, 3) Elemento accedido: 1 Elemento eliminado: 1 Cola actualizada: (2, 3) 

Para obtener más información, visite Java LinkedList.

2. Implementación de la clase PriorityQueue

 import java.util.Queue; import java.util.PriorityQueue; class Main ( public static void main(String() args) ( // Creating Queue using the PriorityQueue class Queue numbers = new PriorityQueue(); // offer elements to the Queue numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) ) 

Salida

 Cola: (1, 5, 2) Elemento accedido: 1 Elemento eliminado: 1 Cola actualizada: (2, 5) 

Para obtener más información, visite Java PriorityQueue.

En los próximos tutoriales, aprenderemos sobre las diferentes subinterfaces de la Queueinterfaz y su implementación en detalle.

Articulos interesantes...