English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In this tutorial, we will learn about the Java Queue interface and its methods.
The Java Collection Framework's Queue interface provides the functionality of the queue data structure. It inherits the Collection interface.
Since Queue is an interface, we cannot provide its direct implementation.
To use the features of Queue, we need to use the class that implements it:
The Queue interface can also be inherited by various sub-interfaces:
Deque
BlockingQueue
BlockingDeque
In the queue, infirst in first outin the way of storing and accessing elements. That is to say,Add elements from the back and delete elements from the front.
In Java, it is necessary to import the java.util.Queue package to use Queue.
// 使用 LinkedList 创建 Queue<String> animal1 = new LinkedList<>(); // 使用 ArrayDeque 创建 Queue<String> animal2 = new ArrayDeque<>(); // 使用 PriorityQueue 创建 Queue<String> animal 3 = new PriorityQueue<>();
In questo esempio, abbiamo creato gli oggetti della classe LinkedList, ArrayDeque e PriorityQueue Animal1, Animal2 e Animal3. Questi oggetti possono utilizzare le funzionalità dell'interfaccia Queue.
L'interfaccia Queue include tutti i metodi dell'interfaccia Collection. Questo perché Collection è il superinterfaccia di Queue.
Alcuni metodi comuni dell'interfaccia Queue:
add() - Inserisce l'elemento specificato nella coda. Se l'operazione ha successo, add() restituisce true, altrimenti lancia un'eccezione.
offer() - Inserisce l'elemento specificato nella coda. Se l'operazione ha successo, offer() restituisce true, altrimenti restituisce false.
element() - Restituisce l'inizio della coda. Se la coda è vuota, lancia un'eccezione.
peek() - Restituisce l'inizio della coda. Se la coda è vuota, restituisce null.
remove() - Restituisce e rimuove l'inizio della coda. Se la coda è vuota, lancia un'eccezione.
poll() - Restituisce e rimuove l'inizio della coda. Se la coda è vuota, restituisce null.
1. Implementare la classe LinkedList
import java.util.Queue; import java.util.LinkedList; class Main { public static void main(String[] args) { //Creare coda utilizzando la classe LinkedList Queue<Integer> numbers = new LinkedList<>(); //Aggiungere elementi alla Coda numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Coda: " + numbers); //Accesso agli elementi della coda int accessedNumber = numbers.peek(); System.out.println("Accesso all'elemento: " + accessedNumber); //Elementi della coda int removedNumber = numbers.poll(); System.out.println("Eliminazione dell'elemento: " + removedNumber); System.out.println("Queue aggiornata: " + numbers); } }
Risultato di output
Coda: [1, 2, 3] Accesso all'elemento: 1 Eliminazione dell'elemento: 1 Coda aggiornata: [2, 3]
Per ulteriori informazioni, visitareLinkedList Java.
2. Implementare la classe PriorityQueue
import java.util.Queue; import java.util.PriorityQueue; class Main { public static void main(String[] args) { //Creare coda utilizzando la classe PriorityQueue Queue<Integer> numbers = new PriorityQueue<>(); //Aggiungere elementi alla Coda numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Coda: " + numbers); //Accesso all'elemento della Queue int accessedNumber = numbers.peek(); System.out.println("Accesso all'elemento: " + accessedNumber); //Eliminazione dell'elemento dalla Queue int removedNumber = numbers.poll(); System.out.println("Eliminazione dell'elemento: " + removedNumber); System.out.println("Queue aggiornata: " + numbers); } }
Risultato di output
Queue: [1, 5, 2] Accesso all'elemento: 1 Eliminazione dell'elemento: 1 Queue aggiornata: [2, 5]
Per ulteriori informazioni, visitareJava PriorityQueue.
Nei prossimi tutorial, esploreremo in dettaglio i diversi sottointerfacce dell'interfaccia Queue e le loro implementazioni.