У овом упутству ћемо научити о интерфејсу Декуе, како га користити и његовим методама.
Deque
Интерфејс збирки оквира Јава обезбеђује функционалност ред са два краја. Проширује Queue
интерфејс.
Декуеов рад
У редовном реду, елементи се додају позади и уклањају сприједа. Међутим, у декуе, можемо уметнути и уклонити елементе и са предње и са задње стране .
Часови који примењују Декуе
Да бисмо користили функционалности Deque
интерфејса, морамо да користимо класе које га примењују:
- АрраиДекуе
- ЛинкедЛист
Како користити Декуе?
У Јави морамо увозити java.util.Deque
пакет да бисмо га користили Deque
.
// Array implementation of Deque Deque animal1 = new ArrayDeque(); // LinkedList implementation of Deque Deque animal2 = new LinkedList();
Овде смо креирали објекте анимал1 и анимал2 класа АрраиДекуе и ЛинкедЛист. Ови објекти могу да користе функционалности Deque
интерфејса.
Методе Декуе-а
Пошто Deque
проширује Queue
интерфејс, наслеђује све методе интерфејса реда.
Поред метода доступних у Queue
интерфејсу, Deque
интерфејс такође укључује следеће методе:
- аддФирст () - додаје наведени елемент на почетку декуе-а. Баца изузетак ако је декуе пун.
- аддЛаст () - додаје наведени елемент на крају декуе-а. Баца изузетак ако је декуе пун.
- офферФирст () - додаје наведени елемент на почетку декуе-а. Приказује
false
ако је декуе пун. - офферЛаст () - додаје наведени елемент на крају декуе-а. Приказује
false
ако је декуе пун. - гетФирст () - Враћа први елемент декуе-а. Баца изузетак ако је декуе празан.
- гетЛаст () - Враћа последњи елемент декуе-а. Баца изузетак ако је декуе празан.
- пеекФирст () - Враћа први елемент декуе-а. Приказује
null
ако је декуе празан. - пеекЛаст () - Враћа последњи елемент декуе-а. Приказује
null
ако је декуе празан. - ремовеФирст () - Враћа и уклања први елемент декуе-а. Баца изузетак ако је декуе празан.
- ремовеЛаст () - Враћа и уклања последњи елемент декуе-а. Баца изузетак ако је декуе празан.
- поллФирст () - Враћа и уклања први елемент декуе-а. Приказује
null
ако је декуе празан. - поллЛаст () - Враћа и уклања последњи елемент декуе-а. Приказује
null
ако је декуе празан.
Декуе као структура података стека
Stack
Класа Јава Collections
оквира обезбеђује примену стека.
Међутим, препоручује се употреба Deque
као стек уместо класе Стацк. То је зато што су методе Stack
синхронизоване.
Ево метода које Deque
интерфејс пружа за примену стека:
push()
- додаје елемент на почетку декуе-аpop()
- уклања елемент са почетка декуе-аpeek()
- враћа елемент са почетка декуе-а
Примена Декуе-а у АрраиДекуе класи
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); ) )
Оутпут
Декуе: (3, 1, 2) Први елемент: 3 Последњи елемент: 2 Уклоњен Први елемент: 3 Уклоњен последњи елемент: 2 Ажурирано Декуе: (1)
Да бисте сазнали више, посетите Јава АрраиДекуе.