În acest tutorial, vom afla despre interfața Deque, cum să o utilizați și metodele sale.
Deque
Interfața cadrului colecțiilor Java oferă funcționalitatea unei cozi de dublu-sa încheiat. Extinde Queue
interfața.
Lucrarea lui Deque
Într-o coadă obișnuită, elementele sunt adăugate din spate și eliminate din față. Cu toate acestea, într-un deque, putem introduce și elimina elemente atât din față, cât și din spate .
Clase care implementează Deque
Pentru a utiliza funcționalitățile Deque
interfeței, trebuie să folosim clase care o implementează:
- ArrayDeque
- LinkedList
Cum se utilizează Deque?
În Java, trebuie să importăm java.util.Deque
pachetul de utilizat Deque
.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Aici, am creat obiecte animal1 și animal2 din clasele ArrayDeque și, respectiv, LinkedList. Aceste obiecte pot utiliza funcționalitățile Deque
interfeței.
Metode de Deque
Deoarece Deque
extinde Queue
interfața, el moștenește toate metodele interfeței Coadă.
Pe lângă metodele disponibile în Queue
interfață, Deque
interfața include și următoarele metode:
- addFirst () - Adaugă elementul specificat la începutul deque. Aruncă o excepție dacă deque este plin.
- addLast () - Adaugă elementul specificat la sfârșitul deque. Aruncă o excepție dacă deque este plin.
- offerFirst () - Adaugă elementul specificat la începutul deque. Revine
false
dacă deque este plin. - offerLast () - Adaugă elementul specificat la sfârșitul deque. Revine
false
dacă deque este plin. - getFirst () - Returnează primul element al deque. Aruncă o excepție dacă deque-ul este gol.
- getLast () - Returnează ultimul element al deque. Aruncă o excepție dacă deque-ul este gol.
- peekFirst () - Returnează primul element al deque. Revine
null
dacă deque este gol. - peekLast () - Returnează ultimul element al deque. Revine
null
dacă deque este gol. - removeFirst () - Returnează și elimină primul element al deque. Aruncă o excepție dacă deque-ul este gol.
- removeLast () - Returnează și elimină ultimul element al deque. Aruncă o excepție dacă deque-ul este gol.
- pollFirst () - Returnează și elimină primul element al deque. Revine
null
dacă deque este gol. - pollLast () - Returnează și elimină ultimul element al deque. Revine
null
dacă deque este gol.
Deque ca structură de date stivă
Stack
Clasa Java Collections
cadru prevede punerea în aplicare a stivei.
Cu toate acestea, se recomandă utilizarea Deque
ca stivă în locul clasei Stack. Acest lucru se datorează faptului că metodele de Stack
sincronizare sunt.
Iată metodele pe Deque
care le oferă interfața pentru implementarea stivei:
push()
- adaugă un element la începutul dequepop()
- elimină un element de la începutul dequepeek()
- returnează un element de la începutul deque
Implementarea Deque în clasa 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); ) )
Ieșire
Deque: (3, 1, 2) Primul element: 3 Ultimul element: 2 Eliminat primul element: 3 Eliminat ultimul element: 2 Actualizat deque: (1)
Pentru a afla mai multe, vizitați Java ArrayDeque.