English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (Cola)

Java Map Colección

Java Set Colección

Java Entrada/Salida (I/O)

Reader de Java/Writer

Otros temas de Java

Interfaz Queue de Java

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

La interfaz Queue del marco de trabajo de colecciones de Java proporciona las funciones de la estructura de datos de cola. Hereda la interfaz Collection.

Clases que implementan la cola

Dado que Queue es una interfaz, no podemos proporcionar su implementación directa.

Para usar las funciones de Queue, necesitamos usar la clase que lo implementa:

Interfaz heredada de Queue

La interfaz Queue también puede ser heredada por varias subinterfazs:

  • Deque

  • BlockingQueue

  • BlockingDeque

flujo de trabajo de la estructura de datos de cola

En la cola, conprimero en entrar, primero en salirpara almacenar y acceder a los elementos. Es decir,Añade elementos desde el final y elimina elementos desde el principio.

¿Cómo usar la cola (Queue)?

En Java, es necesario importar el paquete java.util.Queue para usar Queue.

// Crea un LinkedList
Queue<String> animal1 = new LinkedList<>();
// Crear utilizando ArrayDeque
Queue<String> animal2 = new ArrayDeque<>();
// Crear utilizando PriorityQueue
Queue<String> animal 3 = new PriorityQueue<>();

Aquí, hemos creado objetos de las clases LinkedList, ArrayDeque y PriorityQueue de Animal1, Animal2y Animal3. Estos objetos pueden usar las funciones de la interfaz Queue.

Métodos de Queue

La interfaz Queue incluye todos los métodos de la interfaz Collection. Esto se debe a que Collection es la superinterfaz de Queue.

Algunos métodos comunes de la interfaz Queue:

  • add() - Inserta el elemento especificado en la cola. Si la tarea tiene éxito, add() devuelve true, de lo contrario lanza una excepción.

  • offer() - Inserta el elemento especificado en la cola. Si la tarea tiene éxito, offer() devuelve true, de lo contrario devuelve false.

  • element() - Devuelve el elemento de la cabeza de la cola. Si la cola está vacía, lanza una excepción.

  • peek() - Devuelve el elemento de la cabeza de la cola. Si la cola está vacía, devuelve null.

  • remove() - Devuelve y elimina el elemento de la cabeza de la cola. Si la cola está vacía, lanza una excepción.

  • poll() - Devuelve y elimina el elemento de la cabeza de la cola. Si la cola está vacía, devuelve null.

Implementación de la interfaz de cola

1.Implementar la clase LinkedList

import java.util.Queue;
import java.util.LinkedList;
class Main {
    public static void main(String[] args) {
        // Crear Cola utilizando la clase LinkedList
        Queue<Integer> números = new LinkedList<>();
        //agregar elementos a la Cola
        números.offer(1);
        números.offer(2);
        números.offer(3);
        System.out.println("Cola: " + numbers);
        // Acceder a elementos de la Cola
        int accessedNumber = numbers.peek();
        System.out.println("Acceder al elemento: "); + accessedNumber);
        //Elemento Cola de la cola
        int removedNumber = numbers.poll();
        System.out.println("Eliminar elemento: "); + removedNumber);
        System.out.println("Queue actualizada: "); + numbers);
    }
}

Resultados de salida

Queue: [1, 2, 3]
Acceder a elementos: 1
Eliminar elemento: 1
Queue actualizada: [2, 3]

Para obtener más información, por favor visiteJava LinkedList.

2.Implementar la clase PriorityQueue

import java.util.Queue;
import java.util.PriorityQueue;
class Main {
    public static void main(String[] args) {
        // Crear cola utilizando la clase PriorityQueue 
        Queue<Integer> números = new PriorityQueue<>();
        //agregar elementos a la Cola
        números.offer(5);
        números.offer(1);
        números.offer(2);
        System.out.println("Cola: " + numbers);
        //Acceder al elemento de Queue
        int accessedNumber = numbers.peek();
        System.out.println("Acceder al elemento: "); + accessedNumber);
        //Eliminar elemento de Queue
        int removedNumber = numbers.poll();
        System.out.println("Eliminar elemento: "); + removedNumber);
        System.out.println("Queue actualizada: "); + numbers);
    }
}

Resultados de salida

Queue: [1, 5, 2]
Acceder al elemento: 1
Eliminar elemento: 1
Queue actualizada: [2, 5]

Para obtener más información, por favor visitePriorityQueue de Java.

En los siguientes tutoriales, vamos a entender en detalle las diferentes subinterfaz del Queue y sus implementaciones.