Ebben az oktatóanyagban megismerhetjük a Deque felületet, annak használatát és módszereit.
A Deque
Java gyűjtemények keretrendszere biztosítja a kettős végű sor funkcionalitását. Kiterjeszti az Queue
interfészt.
Deque műve
Rendes sorban az elemeket hátulról adják hozzá, és elölről távolítják el őket. Deque-ben azonban be tudjuk illeszteni és eltávolítani az elemeket elöl és hátul egyaránt .
A Deque-t megvalósító osztályok
A Deque
felület funkcionalitásának használatához olyan osztályokat kell használnunk, amelyek megvalósítják:
- ArrayDeque
- LinkedList
Hogyan kell használni a Deque-et?
A Java-ban importálnunk kell a java.util.Deque
csomagot Deque
.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Itt létrehoztuk az ArrayDeque és a LinkedList osztályú animal1 és animal2 objektumokat. Ezek az objektumok felhasználhatják az Deque
interfész funkcióit .
A Deque módszerei
Mivel Deque
kiterjeszti az Queue
interfészt, örökli a Queue felület összes metódusát.
Az Queue
interfészen elérhető módszerek mellett az Deque
interfész a következő módszereket is tartalmazza:
- addFirst () - A megadott elemet hozzáadja a deque elejéhez. Kivételt dob, ha a deque tele van.
- addLast () - A megadott elemet hozzáadja a deque végéhez. Kivételt dob, ha a deque tele van.
- offerFirst () - Hozzáadja a megadott elemet a deque elejéhez. Visszatér,
false
ha a deque teljes. - offerLast () - Hozzáadja a megadott elemet a deque végéhez. Visszatér,
false
ha a deque teljes. - getFirst () - Visszaadja a deque első elemét. Kivételt dob, ha a deque üres.
- getLast () - Visszaadja a deque utolsó elemét. Kivételt dob, ha a deque üres.
- peekFirst () - Visszaadja a deque első elemét. Visszatér,
null
ha a deque üres. - peekLast () - Visszaadja a deque utolsó elemét. Visszatér,
null
ha a deque üres. - removeFirst () - Visszaadja és eltávolítja a deque első elemét. Kivételt dob, ha a deque üres.
- removeLast () - Visszaadja és eltávolítja a deque utolsó elemét. Kivételt dob, ha a deque üres.
- pollFirst () - Visszaadja és eltávolítja a deque első elemét. Visszatér,
null
ha a deque üres. - pollLast () - Visszaadja és eltávolítja a deque utolsó elemét. Visszatér,
null
ha a deque üres.
Deque mint verem adatstruktúra
A Stack
Java Collections
keretrendszer osztálya biztosítja a verem megvalósítását.
Ugyanakkor ajánlott Deque
veremként használni a Stack osztály helyett. Ez azért van, mert a módszerek Stack
szinkronizálva vannak.
Az Deque
interfész a verem megvalósításához a következő módszereket kínálja:
push()
- hozzáad egy elemet a deque elejénpop()
- eltávolít egy elemet a deque elejérőlpeek()
- a deque elejétől egy elemet ad vissza
A Deque megvalósítása az ArrayDeque osztályban
import java.util.Deque; import java.util.ArrayDeque; class Main ( public static void main(String() args) ( // Creating Deque using the ArrayDeque class Deque numbers = new ArrayDeque(); // add elements to the Deque numbers.offer(1); numbers.offerLast(2); numbers.offerFirst(3); System.out.println("Deque: " + numbers); // Access elements of the Deque int firstElement = numbers.peekFirst(); System.out.println("First Element: " + firstElement); int lastElement = numbers.peekLast(); System.out.println("Last Element: " + lastElement); // Remove elements from the Deque int removedNumber1 = numbers.pollFirst(); System.out.println("Removed First Element: " + removedNumber1); int removedNumber2 = numbers.pollLast(); System.out.println("Removed Last Element: " + removedNumber2); System.out.println("Updated Deque: " + numbers); ) )
Kimenet
Deque: (3, 1, 2) Első elem: 3 Utolsó elem: 2 Eltávolított első elem: 3 Eltávolított utolsó elem: 2 Frissítve Deque: (1)
További információkért látogasson el a Java ArrayDeque oldalra.