I denne opplæringen vil vi lære om Java Queue-grensesnittet og dets metoder.
Den Queue
grensesnittet til Java samlinger rammeverket gir funksjonaliteten i køen datastruktur. Det utvider Collection
grensesnittet.
Klasser som implementerer kø
Siden det Queue
er et grensesnitt, kan vi ikke gi den direkte implementeringen av det.
For å kunne bruke funksjonene til Queue
, må vi bruke klasser som implementerer det:
- ArrayDeque
- LinkedList
- PriorityQueue
Grensesnitt som utvider køen
Den Queue
grensesnittet er også utvidet med forskjellige subinterfaces:
Deque
BlockingQueue
BlockingDeque
Arbeid med kødatastruktur
I kø lagres og åpnes elementer på første inn, første ut måte. Det vil si at elementer er lagt til bakfra og fjernet fra fronten .
Hvordan bruke kø?
I Java må vi importere java.util.Queue
pakken for å kunne bruke 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 laget gjenstander animal1, animal2 og animal3 av klasser LinkedList
, ArrayDeque
og PriorityQueue
henholdsvis. Disse objektene kan bruke funksjonene til Queue
grensesnittet.
Metoder for kø
Den Queue
Grensesnittet omfatter alle fremgangsmåtene ifølge Collection
grensesnitt. Det er fordi det Collection
er supergrensesnittet til Queue
.
Noen av de vanligste metodene for Queue
grensesnittet er:
- add () - Setter inn det angitte elementet i køen. Hvis oppgaven er vellykket,
add()
returnerer dentrue
, hvis ikke, gir den et unntak. - offer () - Setter inn det angitte elementet i køen. Hvis oppgaven er vellykket,
offer()
returnerer dentrue
, hvis ikke denfalse
. - element () - Returnerer hodet til køen. Kaster et unntak hvis køen er tom.
- peek () - Returnerer køhodet. Returnerer
null
hvis køen er tom. - remove () - Returnerer og fjerner hodet på køen. Kaster et unntak hvis køen er tom.
- meningsmåling () - Returnerer og fjerner hodet på køen. Returnerer
null
hvis køen er tom.
Implementering av køgrensesnittet
1. Implementering av 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); ) )
Produksjon
Kø: (1, 2, 3) Tilgang til element: 1 Fjernet element: 1 Oppdatert kø: (2, 3)
For å lære mer, besøk Java LinkedList.
2. Implementering av 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); ) )
Produksjon
Kø: (1, 5, 2) Tilgjengelig element: 1 fjernet element: 1 oppdatert kø: (2, 5)
For å lære mer, besøk Java PriorityQueue.
I de neste opplæringene vil vi lære om forskjellige delgrensesnitt av Queue
grensesnittet og implementeringen av det i detalj.