Selles õpetuses õpime tundma Java Queue liidest ja selle meetodeid.
Queue
Liides Java kogud raamistik annab funktsionaalsust järjekorda andmete struktuuri. See laiendab Collection
liidest.
Klassid, mis rakendavad järjekorda
Kuna see Queue
on liides, ei saa me seda otseselt rakendada.
Funktsioonide kasutamiseks Queue
peame kasutama klasse, mis seda rakendavad:
- ArrayDeque
- LinkedList
- PriorityQueue
Liideseid, mis pikendavad järjekorda
Queue
Liides on ka pikendada erinevate subinterfaces:
Deque
BlockingQueue
BlockingDeque
Järjekorra andmete struktuuri töötamine
Järjekordades salvestatakse elemendid ja neile pääseb juurde First In, First Out viisil. See tähendab, et elemendid lisatakse tagantpoolt ja eemaldatakse eest .
Kuidas kasutada järjekorda?
Java-s peame java.util.Queue
selle kasutamiseks paketi importima 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();
Siin oleme loonud objektide animal1, animal2 ja animal3 klasside LinkedList
, ArrayDeque
ja PriorityQueue
vastavalt. Need objektid saavad kasutada Queue
liidese funktsionaalsusi .
Järjekorra meetodid
Queue
Liides sisaldab kõiki meetodeid Collection
liides. Sellepärast, et see Collection
on superliides Queue
.
Mõned Queue
liidese tavaliselt kasutatavad meetodid on:
- add () - sisestab määratud elemendi järjekorda. Kui ülesanne on edukas,
add()
naasebtrue
, kui mitte, siis see loob erandi. - pakkumine () - sisestab määratud elemendi järjekorda. Kui ülesanne on edukas,
offer()
naasebtrue
, kui mitte, siis tagasifalse
. - element () - tagastab järjekorra pea. Kui järjekord on tühi, viskab erandi.
- peek () - tagastab järjekorra juhi. Tagastab,
null
kui järjekord on tühi. - eemalda () - tagastab ja eemaldab järjekorra pea. Kui järjekord on tühi, viskab erandi.
- poll () - tagastab ja eemaldab järjekorra pea. Tagastab,
null
kui järjekord on tühi.
Järjekorra liidese rakendamine
1. LinkedList-klassi juurutamine
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äljund
Järjekord: (1, 2, 3) Juurdepääs elementi: 1 Eemaldatud element: 1 Värskendatud järjekord: (2, 3)
Lisateabe saamiseks külastage Java LinkedList.
2. PriorityQueue klassi rakendamine
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äljund
Järjekord: (1, 5, 2) Juurdepääs elementi: 1 Eemaldatud element: 1 Värskendatud järjekord: (2, 5)
Lisateabe saamiseks külastage Java PriorityQueue'i.
Järgmistes õpetustes tutvume Queue
liidese erinevate alamliideste ja selle rakendamisega üksikasjalikult.