Ebben az oktatóanyagban megismerhetjük a Java Queue felületet és annak módszereit.
A Queue
Java gyűjtemények keretrendszere biztosítja a várólista adatstruktúrájának funkcionalitását. Kiterjeszti az Collection
interfészt.
Osztályok, amelyek megvalósítják a várólistát
Mivel Queue
ez egy interfész, nem tudjuk biztosítani annak közvetlen megvalósítását.
A funkciók Queue
használatához olyan osztályokat kell használnunk, amelyek megvalósítják:
- ArrayDeque
- LinkedList
- PriorityQueue
Interfészek, amelyek meghosszabbítják a várólistát
Az Queue
interfészt különféle alinterfészek is kibővítik:
Deque
BlockingQueue
BlockingDeque
A várólista adatstruktúrájának működése
A várólistákban az elemeket First In, First Out módon tárolják és elérik . Vagyis az elemeket hátulról adják hozzá, és elölről távolítják el őket .
Hogyan kell használni a várólistát?
A Java- java.util.Queue
ban a használathoz csomagot kell importálnunk 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();
Itt hoztunk létre objektumokat animal1, animal2 és animal3 osztályok LinkedList
, ArrayDeque
és PriorityQueue
rendre. Ezek az objektumok felhasználhatják az Queue
interfész funkcióit .
A várólista módszerei
Az Queue
interfész az interfész összes módszerét tartalmazza Collection
. Ez azért van, mert Collection
a Queue
.
Az Queue
interfész néhány gyakran használt módszere a következő:
- add () - Beszúrja a megadott elemet a sorba. Ha a feladat sikeres, akkor
add()
visszatértrue
, ha nem, akkor kivételt dob. - ajánlat () - Beszúrja a megadott elemet a sorba. Ha a feladat sikeres, akkor
offer()
visszatértrue
, ha nem, akkor visszatérfalse
. - elem () - Visszaadja a sor fejét. Kivételt dob, ha a sor üres.
- peek () - Visszaadja a sor fejét. Visszatér,
null
ha a sor üres. - remove () - Visszaadja és eltávolítja a sor fejét. Kivételt dob, ha a sor üres.
- poll () - Visszaadja és eltávolítja a sor fejét. Visszatér,
null
ha a sor üres.
A várólista interfész megvalósítása
1. A LinkedList osztály megvalósítása
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); ) )
Kimenet
Sor: (1, 2, 3) Elérett elem: 1 Eltávolított elem: 1 Frissített sor: (2, 3)
További információkért látogasson el a Java LinkedList oldalra.
2. A PriorityQueue osztály megvalósítása
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); ) )
Kimenet
Sor: (1, 5, 2) Elérett elem: 1 Eltávolított elem: 1 Frissített sor: (2, 5)
További információkért látogasson el a Java PriorityQueue oldalra.
A következő oktatóanyagokban részletesen megismerjük a Queue
felület különböző alfelületeit és megvalósítását.