Rozhranie frontu Java

V tomto tutoriále sa dozvieme o rozhraní Java Queue a jeho metódach.

QueueRozhranie zbierok rámca Java poskytuje funkcie dátové štruktúry front. Rozširuje Collectionrozhranie.

Triedy, ktoré implementujú fronty

Pretože toto Queueje rozhranie, nemôžeme zabezpečiť jeho priamu implementáciu.

Aby sme mohli využívať tieto funkcie Queue, musíme použiť triedy, ktoré ich implementujú:

  • ArrayDeque
  • LinkedList
  • PriorityQueue

Rozhrania rozširujúce front

QueueRozhranie je tiež rozšírená o rôzne podrozhraní:

  • Deque
  • BlockingQueue
  • BlockingDeque

Pracovanie dátovej štruktúry frontu

Vo frontoch sa prvky ukladajú a pristupuje sa k nim spôsobom First In, First Out . To znamená, že prvky sa pridávajú zozadu a odoberajú sa spredu .

Ako používať front?

V prostredí Java musíme java.util.Queuena použitie importovať balík 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(); 

Tu sme vytvorili objekty animal1, animal2 a animal3 tried LinkedList, ArrayDequea PriorityQueuev tomto poradí. Tieto objekty môžu využívať funkcie Queuerozhrania.

Metódy poradia

QueueRozhranie zahŕňa všetky metódy Collectionrozhrania. Je to preto, že Collectionje super rozhraním Queue.

Niektoré z bežne používaných metód Queuerozhrania sú:

  • add () - Vloží zadaný prvok do poradia. Ak je úloha úspešná, add()vráti sa true, ak nie, vyvolá výnimku.
  • offer () - Vloží zadaný prvok do poradia. Ak je úloha úspešná, offer()vráti sa true, ak nie, vráti sa false.
  • element () - Vráti hlavičku frontu. Ak je rad prázdny, hodí výnimku.
  • peek () - Vráti hlavu frontu. Vráti sa, nullak je rad prázdny.
  • remove () - Vráti a odstráni hlavu frontu. Ak je rad prázdny, hodí výnimku.
  • poll () - Vráti a odstráni hlavičku frontu. Vráti sa, nullak je rad prázdny.

Implementácia frontového rozhrania

1. Implementácia triedy 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); ) ) 

Výkon

 Poradie: (1, 2, 3) Prístup k prvku: 1 Odstránený prvok: 1 Aktualizované poradie: (2, 3) 

Ak sa chcete dozvedieť viac, navštívte stránku Java LinkedList.

2. Implementácia triedy 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); ) ) 

Výkon

 Poradie: (1, 5, 2) Prístup k prvku: 1 Odstránený prvok: 1 Aktualizované poradie: (2, 5) 

Ak sa chcete dozvedieť viac, navštívte stránku Java PriorityQueue.

V ďalších tutoriáloch sa dozvieme Queuepodrobne rôzne subinterfaces rozhrania a jeho implementáciu.

Zaujímavé články...