Java Deque

Selles õpetuses õpime tundma liidest Deque, kuidas seda kasutada, ja selle meetodeid.

DequeLiides Java kogud raamistik annab funktsionaalsust Kahe otsaga järjekorda. See laiendab Queueliidest.

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

DequeLiidese funktsionaalsuste kasutamiseks peame kasutama seda rakendavaid klasse:

  • ArrayDeque
  • LinkedList

Kuidas Deque'i kasutada?

Javas peame java.util.Dequepaketi 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 Dequeliidese funktsionaalsusi .

Deque'i meetodid

Kuna liidest Dequelaiendatakse Queue, pärib see kõik liidese Queue meetodid.

Lisaks Queueliideses saadaolevatele meetoditele Dequesisaldab 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, falsekui deque on täis.
  • offerLast () - lisab määratud elemendi deque'i lõppu. Tagastab, falsekui 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, nullkui deque on tühi.
  • peekLast () - tagastab deque'i viimase elemendi. Tagastab, nullkui 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, nullkui deque on tühi.
  • pollLast () - tagastab ja eemaldab deque'i viimase elemendi. Tagastab, nullkui deque on tühi.

Deque kui korstna andmete struktuur

StackKlassi Java Collectionsraamistik annab rakendamise virnas.

DequeStacki klassi asemel on siiski soovitatav kasutada virna. Sellepärast, et meetodid Stackon sünkroniseeritud.

Siin on meetodid, mida Dequeliides pakub virna rakendamiseks:

  • push() - lisab deque'i alguses elemendi
  • pop() - eemaldab elemendi deque'i algusest
  • peek() - 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.

Huvitavad Artiklid...