Istanzia la coda in Java

Bishal Awasthi 12 ottobre 2023
  1. Usa la classe LinkedList per implementare un oggetto Queue in Java
  2. Usa la classe ArrayDeque per implementare un oggetto Queue in Java
Istanzia la coda 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]