Šajā apmācībā mēs uzzināsim par Deque interfeisu, kā to izmantot, un tā metodēm.
Deque
Java kolekcijas ietvaros saskarne nodrošina funkcionalitāti dubultā-beidzās rindā. Tas paplašina Queue
saskarni.
Deque darbs
Parastā rindā elementi tiek pievienoti no aizmugures un noņemti no priekšpuses. Tomēr dekā mēs varam ievietot un noņemt elementus gan no priekšpuses, gan aizmugures .
Klases, kas ievieš Deque
Lai izmantotu Deque
saskarnes funkcionalitāti , mums jāizmanto klases, kas to ievieš:
- ArrayDeque
- LinkedList
Kā lietot Deque?
Java valodā mums jāimportē java.util.Deque
pakete lietošanai Deque
.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Šeit mēs esam izveidojuši attiecīgi ArrayDeque un LinkedList klases objektus animal1 un animal2. Šie objekti var izmantot Deque
saskarnes funkcionalitāti .
Deque metodes
Tā Deque
kā Queue
interfeiss tiek paplašināts , tas pārņem visas rindas saskarnes metodes.
Papildus Queue
saskarnē pieejamajām metodēm Deque
interfeiss ietver arī šādas metodes:
- addFirst () - pievieno norādīto elementu deque sākumā. Izmet izņēmumu, ja deque ir pilns.
- addLast () - pievieno norādīto elementu deque beigās. Izmet izņēmumu, ja deque ir pilns.
- offerFirst () - pievieno norādīto elementu deque sākumā. Atgriež,
false
ja deque ir pilns. - offerLast () - pievieno norādīto elementu deque beigās. Atgriež,
false
ja deque ir pilns. - getFirst () - atgriež deque pirmo elementu. Izmet izņēmumu, ja deque ir tukšs.
- getLast () - atgriež deque pēdējo elementu. Izmet izņēmumu, ja deque ir tukšs.
- peekFirst () - atgriež deque pirmo elementu. Atgriež,
null
ja deque ir tukšs. - peekLast () - atgriež pēdējo deque elementu. Atgriež,
null
ja deque ir tukšs. - removeFirst () - atgriež un noņem pirmo deque elementu. Izmet izņēmumu, ja deque ir tukšs.
- removeLast () - atgriež un noņem pēdējo deque elementu. Izmet izņēmumu, ja deque ir tukšs.
- pollFirst () - atgriež un noņem pirmo deque elementu. Atgriež,
null
ja deque ir tukšs. - pollLast () - atgriež un noņem pēdējo deque elementu. Atgriež,
null
ja deque ir tukšs.
Deque kā kaudzes datu struktūra
Stack
Java klases Collections
ietvaros nodrošina īstenošanu kaudze.
Tomēr ieteicams izmantot Deque
kā kaudzīti, nevis kaudzes klasi. Tas ir tāpēc, ka metodes Stack
ir sinhronizētas.
Šīs Deque
saskarnes metodes nodrošina kaudzes ieviešanu:
push()
- pievieno elementu deque sākumāpop()
- noņem elementu no deque sākumapeek()
- atgriež elementu no deque sākuma
Deque ieviešana ArrayDeque klasē
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); ) )
Rezultāts
Deque: (3, 1, 2) Pirmais elements: 3 Pēdējais elements: 2 Noņemtais pirmais elements: 3 Noņemtais pēdējais elements: 2 Atjaunināts Deque: (1)
Lai uzzinātu vairāk, apmeklējiet Java ArrayDeque.