Istanzia la coda in Java
-
Usa la classe
LinkedList
per implementare un oggettoQueue
in Java -
Usa la classe
ArrayDeque
per implementare un oggettoQueue
in Java
Questo articolo introdurrà i metodi per creare un’istanza di un oggetto Queue
in Java. Descriveremo e implementeremo ulteriormente le chiamate al metodo dall’oggetto istanziato in questo tutorial. Una coda è un’interfaccia e non possiamo creare un oggetto direttamente. Ma possiamo implementare la classe che implementa già l’interfaccia Queue
. Alcune di queste classi sono AbstractQueue
, ArrayDeque
, DelayQueue
, LinkedList
. Pertanto, utilizzeremo le classi LinkedList
e ArrayDeque
per creare un’istanza di Queue in questo tutorial.
Usa la classe LinkedList
per implementare un oggetto Queue
in Java
La classe LinkedList
implementa il concetto di struttura dati LinkedList. Fa parte del framework di raccolta ed è disponibile nel pacchetto java.util
. Gli elementi nella LinkedList sono memorizzati sotto forma di puntatori e indirizzi. L’elemento è noto come nodo. Non possiamo accedere al nodo direttamente in LinkedList. Per accedere a un nodo, dobbiamo iniziare dalla testa e proseguire fino a raggiungere un nodo a cui vogliamo accedere. Il LinkedList implementa l’interfaccia List ed eredita tutti i metodi presenti nell’interfaccia List e nell’interfaccia di raccolta. Nello stesso pacchetto è disponibile anche Queue
. Possiamo creare un oggetto di Queue
implementando la classe LinkedList
. Possiamo usare la funzione add()
per aggiungere i dati nella coda.
Innanzitutto, importa Queue e LinkedList utilizzando rispettivamente import java.util.Queue
e import java.util.LinkedList
. Quindi, crea una classe QueueDemo
e dichiara il metodo principale. Successivamente, istanzia un oggetto queue
implementando la classe LinkedList
. Chiama il metodo add()
con l’oggetto e aggiungi cinque valori interi. Infine, stampa gli elementi della coda.
Nell’esempio, abbiamo usato una classe LinkedList
che implementa l’interfaccia Queue per creare un oggetto coda. Questo perché la coda è un’interfaccia e non possiamo creare direttamente il suo oggetto. Abbiamo specificato il tipo generico Integer
durante la creazione dell’oggetto perché memorizziamo il valore intero nella coda. La sezione di output visualizza gli elementi archiviati nella coda.
Codice di esempio:
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);
}
}
Produzione:
Added Queue in memory: [8, 9, 10, 2, 5]
Usa la classe ArrayDeque
per implementare un oggetto Queue
in Java
Il linguaggio Java ha definito la classe ArrayDeque
come parte del framework di raccolta. Crea un insieme vuoto di locazioni in memoria con una capacità iniziale sufficiente a contenere sedici elementi. ArrayDeque è anche chiamato Array Double Ended Queue, che ci consente di inserire o eliminare un elemento da entrambi i lati. Implementa uno Stack (Last-In-First-Out) o una Queue (First-In-First-Out). Pertanto, possiamo creare un oggetto di Queue
con l’implementazione della classe ArrayDeque
.
Importa i pacchetti come sopra, ma assicurati di importare ArrayDeque
in questo metodo invece di LinkedList
. Quindi, crea una demo di classe e dichiara il metodo principale. Quindi implementa la classe ArrayDeque
istanziando l’interfaccia Queue
. Crea un oggetto di Queue
come aq
. Usa l’oggetto aq
per chiamare quattro volte il metodo add()
. Aggiungi quattro stringhe diverse. Infine, stampa l’oggetto aq
.
Nell’esempio seguente, abbiamo utilizzato il tipo generico String
durante la creazione dell’oggetto. È perché stiamo aggiungendo elementi stringa nella coda. Pertanto, abbiamo istanziato un oggetto Queue
implementando la classe ArrayDeque
.
Codice di esempio:
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);
}
}
Produzione:
Added Queue in memory: [first, second, third, fourth]