Instancia de cola en Java
-
Utilice la clase
LinkedList
para implementar un objetoQueue
en Java -
Utilice la clase
ArrayDeque
para implementar un objetoQueue
en Java
Este artículo presentará métodos para crear una instancia de un objeto Queue
en Java. Más adelante describiremos e implementaremos las llamadas al método desde el objeto instanciado en este tutorial. Una cola es una interfaz y no podemos crear un objeto directamente. Pero podemos implementar la clase que ya implementa la interfaz Queue
. Algunas de esas clases son AbstractQueue
, ArrayDeque
, DelayQueue
, LinkedList
. Por lo tanto, usaremos las clases LinkedList
y ArrayDeque
para crear una instancia de Queue en este tutorial.
Utilice la clase LinkedList
para implementar un objeto Queue
en Java
La clase LinkedList
implementa el concepto de estructura de datos LinkedList. Es parte del marco de la colección y está disponible en el paquete java.util
. Los elementos de LinkedList se almacenan en forma de punteros y direcciones. El elemento se conoce como nodo. No podemos acceder al nodo directamente en LinkedList. Para acceder a un nodo, tenemos que empezar desde la cabeza y seguir hasta llegar a un nodo al que queremos acceder. LinkedList implementa la interfaz List y hereda todos los métodos presentes en la interfaz List y la interfaz de colección. Cola
también está disponible en el mismo paquete. Podemos crear un objeto de Queue
implementando la clase LinkedList
. Podemos usar la función add()
para agregar los datos en la cola.
En primer lugar, importe Queue y LinkedList utilizando import java.util.Queue
y import java.util.LinkedList
respectivamente. Luego, cree una clase QueueDemo
y declare el método main. A continuación, cree una instancia de un objeto queue
implementando la clase LinkedList
. Llame al método add()
con el objeto y sume cinco valores enteros. Finalmente, imprima los elementos de la Cola.
En el ejemplo, usamos una clase LinkedList
que implementa la interfaz Queue para crear un objeto de cola. Esto se debe a que la cola es una interfaz y no podemos crear su objeto directamente. Hemos especificado el tipo genérico Integer
al crear el objeto porque almacenamos el valor entero en la cola. La sección de salida muestra los elementos almacenados en la cola.
Código de ejemplo:
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.add(8);
queue.add(9);
queue.add(10);
queue.add(2);
queue.add(5);
System.out.println("Added Queue in memory: " + queue);
}
}
Producción :
Added Queue in memory: [8, 9, 10, 2, 5]
Utilice la clase ArrayDeque
para implementar un objeto Queue
en Java
El lenguaje Java ha definido la clase ArrayDeque
como parte del marco de la colección. Crea un conjunto vacío de ubicaciones en la memoria con una capacidad inicial suficiente para contener dieciséis elementos. ArrayDeque también se llama Array Double Ended Queue, lo que nos permite insertar o eliminar un elemento de ambos lados. Implementa una pila (último en entrar, primero en salir) o una cola (primero en entrar, primero en salir). Por tanto, podemos crear un objeto de Queue
con la implementación de la clase ArrayDeque
.
Importe los paquetes como se indicó anteriormente, pero asegúrese de importar el ArrayDeque
en este método en lugar de la LinkedList
. Luego, cree una clase Demo y declare el método main. Luego implemente la clase ArrayDeque
creando una instancia de la interfaz Queue
. Cree un objeto de Queue
como aq
. Utilice el objeto aq
para llamar al método add()
cuatro veces. Agregue cuatro cadenas diferentes. Finalmente, imprima el objeto aq
.
En el siguiente ejemplo, hemos utilizado el tipo genérico String
al crear el objeto. Es porque estamos agregando elementos de cadena en la cola. Por lo tanto, hemos instanciado un objeto Queue
implementando la clase ArrayDeque
.
Código de ejemplo:
import java.util.ArrayDeque;
import java.util.Queue;
public class Demo {
public static void main(String[] args) {
Queue<String> aq = new ArrayDeque<String>();
aq.add("first");
aq.add("second");
aq.add("third");
aq.add("fourth");
System.out.println("Added Queue in memory: " + aq);
}
}
Producción :
Added Queue in memory: [first, second, third, fourth]