In questo tutorial, impareremo a conoscere l'interfaccia Java Queue e i suoi metodi.
L' Queue
interfaccia del framework delle collezioni Java fornisce la funzionalità della struttura dei dati della coda. Estende l' Collection
interfaccia.
Classi che implementano la coda
Poiché Queue
è un'interfaccia, non possiamo fornirne l'implementazione diretta.
Per poter utilizzare le funzionalità di Queue
, dobbiamo utilizzare classi che lo implementino:
- ArrayDeque
- Lista collegata
- PriorityQueue
Interfacce che estendono Queue
L' Queue
interfaccia è inoltre estesa da varie sottointerfacce:
Deque
BlockingQueue
BlockingDeque
Utilizzo della struttura dei dati delle code
Nelle code, gli elementi vengono memorizzati e acceduti in modalità First In, First Out . Cioè, gli elementi vengono aggiunti da dietro e rimossi dalla parte anteriore .
Come si usa la coda?
In Java, dobbiamo importare il java.util.Queue
pacchetto per poter utilizzare Queue
.
// LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue();
Qui, abbiamo creato gli oggetti animal1, animal2 e animal3 di classi LinkedList
, ArrayDeque
e PriorityQueue
, rispettivamente. Questi oggetti possono utilizzare le funzionalità Queue
dell'interfaccia.
Metodi di coda
L' Queue
interfaccia include tutti i metodi Collection
dell'interfaccia. È perché Collection
è la super interfaccia di Queue
.
Alcuni dei metodi comunemente usati Queue
dell'interfaccia sono:
- add () - Inserisce l'elemento specificato nella coda. Se l'attività ha esito positivo,
add()
restituiscetrue
, in caso contrario genera un'eccezione. - offer () - Inserisce l'elemento specificato nella coda. Se l'attività ha successo,
offer()
ritornatrue
, in caso contrario ritornafalse
. - element () - Restituisce l'inizio della coda. Genera un'eccezione se la coda è vuota.
- peek () - Restituisce l'inizio della coda. Restituisce
null
se la coda è vuota. - remove () - Restituisce e rimuove l'inizio della coda. Genera un'eccezione se la coda è vuota.
- poll () - Restituisce e rimuove l'inizio della coda. Restituisce
null
se la coda è vuota.
Implementazione dell'interfaccia della coda
1. Implementazione della classe LinkedList
import java.util.Queue; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating Queue using the LinkedList class Queue numbers = new LinkedList(); // offer elements to the Queue numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) )
Produzione
Coda: (1, 2, 3) Elemento a cui si accede: 1 Elemento rimosso: 1 Coda aggiornata: (2, 3)
Per saperne di più, visita Java LinkedList.
2. Implementazione della classe PriorityQueue
import java.util.Queue; import java.util.PriorityQueue; class Main ( public static void main(String() args) ( // Creating Queue using the PriorityQueue class Queue numbers = new PriorityQueue(); // offer elements to the Queue numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) )
Produzione
Coda: (1, 5, 2) Elemento a cui si accede: 1 Elemento rimosso: 1 Coda aggiornata: (2, 5)
Per saperne di più, visita Java PriorityQueue.
Nei prossimi tutorial, impareremo Queue
in dettaglio le diverse sottointerfacce dell'interfaccia e la sua implementazione.