Java køgrænseflade

I denne vejledning lærer vi om Java-køgrænsefladen og dens metoder.

Den Queuegrænsefladen af Java kollektioner rammer giver funktionaliteten af køen datastruktur. Det udvider Collectiongrænsefladen.

Klasser, der implementerer kø

Da det Queueer en grænseflade, kan vi ikke levere den direkte implementering af det.

For at kunne bruge funktionerne i Queueer vi nødt til at bruge klasser, der implementerer det:

  • ArrayDeque
  • LinkedList
  • PriorityQueue

Grænseflader, der udvider køen

Den Queueinterface er også udvidet med forskellige subinterfaces:

  • Deque
  • BlockingQueue
  • BlockingDeque

Arbejde med kødatastruktur

I køer gemmes og få adgang til elementer på First In, First Out måde. Det vil sige, elementer tilføjes bagfra og fjernes forfra .

Hvordan bruges kø?

I Java skal vi importere java.util.Queuepakken for at kunne bruge den 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(); 

Her har vi skabt objekter animal1, animal2 og animal3 af klasser LinkedList, ArrayDequeog PriorityQueuehhv. Disse objekter kan bruge funktionerne i Queuegrænsefladen.

Metoder til kø

Den Queuegrænseflade omfatter alle fremgangsmåderne ifølge Collectiongrænsefladen. Det er, fordi det Collectioner supergrænsefladen til Queue.

Nogle af de almindeligt anvendte metoder til Queuegrænsefladen er:

  • add () - Indsætter det angivne element i køen. Hvis opgaven er vellykket, add()vender den tilbage true, hvis ikke, giver den en undtagelse.
  • offer () - Indsætter det angivne element i køen. Hvis opgaven er vellykket, offer()returnerer den true, hvis ikke den returnerer false.
  • element () - Returnerer køens hoved. Kaster en undtagelse, hvis køen er tom.
  • peek () - Returnerer køens hoved. Returnerer, nullhvis køen er tom.
  • remove () - Returnerer og fjerner køens hoved. Kaster en undtagelse, hvis køen er tom.
  • afstemning () - Returnerer og fjerner køens hoved. Returnerer, nullhvis køen er tom.

Implementering af køgrænsefladen

1. Implementering af LinkedList-klassen

 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); ) ) 

Produktion

 Kø: (1, 2, 3) Element, der er adgang til: 1 Fjernet element: 1 Opdateret kø: (2, 3) 

Hvis du vil vide mere, skal du besøge Java LinkedList.

2. Implementering af PriorityQueue-klassen

 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); ) ) 

Produktion

 Kø: (1, 5, 2) Tilgængeligt element: 1 Fjernet element: 1 Opdateret kø: (2, 5) 

For at lære mere, besøg Java PriorityQueue.

I de næste selvstudier lærer vi om forskellige undergrænseflader af Queuegrænsefladen og dens implementering i detaljer.

Interessante artikler...