Selles õpetuses õpime tundma liidest Deque, kuidas seda kasutada, ja selle meetodeid.
Deque
Liides Java kogud raamistik annab funktsionaalsust Kahe otsaga järjekorda. See laiendab Queue
liidest.
Deque'i töö
Tavalises järjekorras lisatakse elemendid tagantpoolt ja eemaldatakse eest. Kuid deque'is saame elemente sisestada ja eemaldada nii eest kui tagant .
Klassid, mis rakendavad Deque'i
Deque
Liidese funktsionaalsuste kasutamiseks peame kasutama seda rakendavaid klasse:
- ArrayDeque
- LinkedList
Kuidas Deque'i kasutada?
Javas peame java.util.Deque
paketi kasutamiseks importima Deque
.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Siin oleme loonud objektid animal1 ja animal2 vastavalt klassidesse ArrayDeque ja LinkedList. Need objektid saavad kasutada Deque
liidese funktsionaalsusi .
Deque'i meetodid
Kuna liidest Deque
laiendatakse Queue
, pärib see kõik liidese Queue meetodid.
Lisaks Queue
liideses saadaolevatele meetoditele Deque
sisaldab liides ka järgmisi meetodeid:
- addFirst () - lisab määratud elemendi deque'i algusesse. Viskab erandi, kui deque on täis.
- addLast () - lisab määratud elemendi deque'i lõppu. Viskab erandi, kui deque on täis.
- offerFirst () - lisab määratud elemendi deque'i algusesse. Tagastab,
false
kui deque on täis. - offerLast () - lisab määratud elemendi deque'i lõppu. Tagastab,
false
kui deque on täis. - getFirst () - tagastab deque'i esimese elemendi. Kui deque on tühi, viskab erandi.
- getLast () - tagastab deque'i viimase elemendi. Kui deque on tühi, viskab erandi.
- peekFirst () - tagastab deque'i esimese elemendi. Tagastab,
null
kui deque on tühi. - peekLast () - tagastab deque'i viimase elemendi. Tagastab,
null
kui deque on tühi. - removeFirst () - tagastab ja eemaldab deque'i esimese elemendi. Kui deque on tühi, viskab erandi.
- removeLast () - tagastab ja eemaldab deque'i viimase elemendi. Kui deque on tühi, viskab erandi.
- pollFirst () - tagastab ja eemaldab deque'i esimese elemendi. Tagastab,
null
kui deque on tühi. - pollLast () - tagastab ja eemaldab deque'i viimase elemendi. Tagastab,
null
kui deque on tühi.
Deque kui korstna andmete struktuur
Stack
Klassi Java Collections
raamistik annab rakendamise virnas.
Deque
Stacki klassi asemel on siiski soovitatav kasutada virna. Sellepärast, et meetodid Stack
on sünkroniseeritud.
Siin on meetodid, mida Deque
liides pakub virna rakendamiseks:
push()
- lisab deque'i alguses elemendipop()
- eemaldab elemendi deque'i algusestpeek()
- tagastab elemendi deque'i algusest
Deque'i rakendamine klassis ArrayDeque
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); ) )
Väljund
Deque: (3, 1, 2) Esimene element: 3 Viimane element: 2 Eemaldatud esimene element: 3 Eemaldatud viimane element: 2 Värskendatud deque: (1)
Lisateabe saamiseks külastage Java ArrayDeque'i.