English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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:
La interfaz Queue también puede ser heredada por varias subinterfazs:
Deque
BlockingQueue
BlockingDeque
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.
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.
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.
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.