Interfejs kolejki Java

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:

  • Deque
  • BlockingQueue
  • BlockingDeque

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()zwraca true, jeśli nie, zgłasza wyjątek.
  • offer () - wstawia określony element do kolejki. Jeśli zadanie się powiedzie, offer()zwraca true, jeśli nie, zwraca false.
  • 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ę.

Interesujące artykuły...