I denna handledning lär vi oss om Java-kögränssnittet och dess metoder.
Det Queue
gränssnitt samlingar ramen för Java ger funktionaliteten i kön datastrukturen. Det utökar Collection
gränssnittet.
Klasser som implementerar kö
Eftersom det Queue
är ett gränssnitt kan vi inte tillhandahålla direkt implementering av det.
För att kunna använda funktionerna i Queue
måste vi använda klasser som implementerar det:
- ArrayDeque
- Länkad lista
- PriorityQueue
Gränssnitt som förlänger kö
Den Queue
gränssnittet är också förlängas med olika subinterfaces:
Deque
BlockingQueue
BlockingDeque
Arbeta med ködatastruktur
I köer lagras och nås element på First In, First Out sätt. Det vill säga att element läggs till bakifrån och tas bort från framsidan .
Hur använder jag kö?
I Java måste vi importera java.util.Queue
paketet för att kunna använda det 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();
Här har vi skapat föremål animal1, animal2 och animal3 klasser LinkedList
, ArrayDeque
och PriorityQueue
respektive. Dessa objekt kan använda Queue
gränssnittets funktioner .
Metoder för kö
I Queue
gränssnitt innefattar alla metoder i Collection
gränssnittet. Det är för det Collection
är super gränssnittet för Queue
.
Några av de vanliga metoderna för Queue
gränssnittet är:
- add () - Infogar det angivna elementet i kön. Om uppgiften lyckas,
add()
returnerar dentrue
, om inte den ger ett undantag. - offer () - Infogar det angivna elementet i kön. Om uppgiften lyckas,
offer()
returnerar dentrue
, om inte den returnerasfalse
. - element () - Returnerar köets huvud. Kaster ett undantag om kön är tom.
- peek () - Returnerar köets huvud. Returnerar
null
om kön är tom. - remove () - Returnerar och tar bort köets huvud. Kaster ett undantag om kön är tom.
- poll () - Returnerar och tar bort köets huvud. Returnerar
null
om kön är tom.
Implementering av kögränssnittet
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); ) )
Produktion
Kö: (1, 2, 3) Åtkomst till element: 1 Borttaget element: 1 Uppdaterad kö: (2, 3)
För att lära dig 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); ) )
Produktion
Kö: (1, 5, 2) Åtkomst till element: 1 Borttaget element: 1 Uppdaterad kö: (2, 5)
För att lära dig mer, besök Java PriorityQueue.
I nästa handledning lär vi oss om olika delgränssnitt för Queue
gränssnittet och dess implementering i detalj.