W tym samouczku poznamy interfejs Java Queue i jego metody.
QueueInterfejs zbiorach ramach Java zapewnia funkcjonalność struktury danych kolejki. Rozszerza Collectioninterfejs.
Klasy implementujące kolejkę
Ponieważ Queuejest to interfejs, nie możemy zapewnić jego bezpośredniej implementacji.
Aby skorzystać z funkcjonalności programu Queue, musimy skorzystać z klas, które go implementują:
- ArrayDeque
- Połączona lista
- Kolejka priorytetowa

Interfejsy rozszerzające kolejkę
QueueInterfejs jest również przedłużony o różnych podinterfejsów:
DequeBlockingQueueBlockingDeque

Działanie struktury danych kolejki
W kolejkach elementy są przechowywane i dostępne w trybie First In, First Out . Oznacza to, że elementy są dodawane od tyłu i usuwane z przodu .

Jak korzystać z kolejki?
W Javie musimy zaimportować java.util.Queuepakiet, aby użyć 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();
Tutaj stworzyliśmy obiektów animal1, animal2 i animal3 klas LinkedList, ArrayDequei PriorityQueueodpowiednio. Obiekty te mogą korzystać z funkcjonalności Queueinterfejsu.
Metody kolejki
QueueInterfejs obejmuje wszystkie sposoby przez Collectioninterfejs. To dlatego, że Collectionjest super interfejsem Queue.
Niektóre z powszechnie używanych metod Queueinterfejsu to:
- add () - wstawia określony element do kolejki. Jeśli zadanie się powiedzie,
add()zwracatrue, jeśli nie, zgłasza wyjątek. - offer () - wstawia określony element do kolejki. Jeśli zadanie się powiedzie,
offer()zwracatrue, jeśli nie, zwracafalse. - element () - zwraca nagłówek kolejki. Zgłasza wyjątek, jeśli kolejka jest pusta.
- peek () - zwraca nagłówek kolejki. Zwraca,
nulljeśli kolejka jest pusta. - remove () - zwraca i usuwa nagłówek kolejki. Zgłasza wyjątek, jeśli kolejka jest pusta.
- poll () - zwraca i usuwa nagłówek kolejki. Zwraca,
nulljeśli kolejka jest pusta.
Implementacja interfejsu kolejki
1. Implementacja klasy 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); ) )
Wynik
Kolejka: (1, 2, 3) Dostęp do elementu: 1 Usunięty element: 1 Zaktualizowana kolejka: (2, 3)
Aby dowiedzieć się więcej, odwiedź Java LinkedList.
2. Implementacja klasy 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); ) )
Wynik
Kolejka: (1, 5, 2) Dostęp do elementu: 1 Usunięty element: 1 Zaktualizowana kolejka: (2, 5)
Aby dowiedzieć się więcej, odwiedź Java PriorityQueue.
W kolejnych samouczkach szczegółowo poznamy różne podinterfejsy Queueinterfejsu i jego implementację.








