Interfaccia Java Queue

In questo tutorial, impareremo a conoscere l'interfaccia Java Queue e i suoi metodi.

L' Queueinterfaccia del framework delle collezioni Java fornisce la funzionalità della struttura dei dati della coda. Estende l' Collectioninterfaccia.

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' Queueinterfaccia è 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.Queuepacchetto 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, ArrayDequee PriorityQueue, rispettivamente. Questi oggetti possono utilizzare le funzionalità Queuedell'interfaccia.

Metodi di coda

L' Queueinterfaccia include tutti i metodi Collectiondell'interfaccia. È perché Collectionè la super interfaccia di Queue.

Alcuni dei metodi comunemente usati Queuedell'interfaccia sono:

  • add () - Inserisce l'elemento specificato nella coda. Se l'attività ha esito positivo, add()restituisce true, in caso contrario genera un'eccezione.
  • offer () - Inserisce l'elemento specificato nella coda. Se l'attività ha successo, offer()ritorna true, in caso contrario ritorna false.
  • element () - Restituisce l'inizio della coda. Genera un'eccezione se la coda è vuota.
  • peek () - Restituisce l'inizio della coda. Restituisce nullse 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 nullse 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 Queuein dettaglio le diverse sottointerfacce dell'interfaccia e la sua implementazione.

Articoli interessanti...