У овом упутству ћемо научити о интерфејсу Јава Куеуе и његовим методама.
Queue
Интерфејс збирки оквира Јава обезбеђује функционалност структуре ред података. Проширује Collection
интерфејс.
Класе које примењују ред
Будући да Queue
је интерфејс, не можемо га обезбедити директном применом.
Да бисмо користили функционалности система Queue
, морамо да користимо класе које га примењују:
- АрраиДекуе
- ЛинкедЛист
- ПриоритиКуеуе
Интерфејси који проширују Ред чекања
Queue
Интерфејс је такође проширен разним субинтерфацес:
Deque
BlockingQueue
BlockingDeque
Рад структуре података о реду
У редовима се елементи чувају и приступа им се на начин Први улаз, Први излаз . Односно, елементи се додају позади и уклањају сприједа .
Како се користи Куеуе?
У Јави морамо увозити java.util.Queue
пакет да бисмо га могли користити Queue
.
// LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue();
Овде смо створили објекте анимал1, анимал2 и анимал3 класа LinkedList
, ArrayDeque
и PriorityQueue
респективно. Ови објекти могу да користе функционалности Queue
интерфејса.
Методе чекања
Queue
Интерфејс укључује све методе Collection
интерфејса. То је зато што Collection
је супер интерфејс Queue
.
Неке од најчешће коришћених метода Queue
интерфејса су:
- адд () - Убацује наведени елемент у ред. Ако је задатак успешан,
add()
враћа сеtrue
, ако не, доноси изузетак. - оффер () - убацује наведени елемент у ред. Ако је задатак успешан,
offer()
враћа сеtrue
, ако не, враћа сеfalse
. - елемент () - Враћа главу реда. Баца изузетак ако је ред празан.
- пеек () - Враћа главу реда. Враћа
null
ако је ред празан. - ремове () - Враћа и уклања главу реда. Баца изузетак ако је ред празан.
- полл () - Враћа и уклања главу реда. Враћа
null
ако је ред празан.
Имплементација интерфејса реда
1. Примена класе ЛинкедЛист
import java.util.Queue; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating Queue using the LinkedList class Queue numbers = new LinkedList(); // offer elements to the Queue numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) )
Оутпут
Ред: (1, 2, 3) Приступљени елемент: 1 уклоњени елемент: 1 ажурирани ред: (2, 3)
Да бисте сазнали више, посетите Јава ЛинкедЛист.
2. Примена класе ПриоритиКуеуе
import java.util.Queue; import java.util.PriorityQueue; class Main ( public static void main(String() args) ( // Creating Queue using the PriorityQueue class Queue numbers = new PriorityQueue(); // offer elements to the Queue numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); // Access elements of the Queue int accessedNumber = numbers.peek(); System.out.println("Accessed Element: " + accessedNumber); // Remove elements from the Queue int removedNumber = numbers.poll(); System.out.println("Removed Element: " + removedNumber); System.out.println("Updated Queue: " + numbers); ) )
Оутпут
Ред: (1, 5, 2) Приступљени елемент: 1 уклоњени елемент: 1 ажурирани ред: (2, 5)
Да бисте сазнали више, посетите Јава ПриоритиКуеуе.
У следећим туторијалима ћемо Queue
детаљно научити различите подинтерфејсе интерфејса и његову примену.