U ovom uputstvu naučit ćemo o sučelju Java Queue i njegovim metodama.
QueueSučelje Java zbirki okvira pruža funkcionalnost strukture red podataka. Proširuje Collectionsučelje.
Klase koje implementiraju red čekanja
Budući da Queueje sučelje, ne možemo ga osigurati izravnom provedbom.
Da bismo koristili funkcionalnosti Queue, trebamo koristiti klase koje ga implementiraju:
- ArrayDeque
- LinkedList
- PriorityQueue

Sučelja koja proširuju Red čekanja
QueueSučelje je također proširena raznim subinterfaces:
DequeBlockingQueueBlockingDeque

Rad strukture podataka o redu čekanja
U redovima se elementi pohranjuju i pristupa im se na način Prvi ulaz, Prvi izlaz . Odnosno, elementi se dodaju straga i uklanjaju sprijeda .

Kako koristiti Red čekanja?
U Javi moramo uvesti java.util.Queuepaket da bismo ga mogli koristiti 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();
Ovdje smo stvorili objekata animal1, animal2 i animal3 klasa LinkedList, ArrayDequei PriorityQueueodnosno. Ti objekti mogu koristiti funkcionalnosti Queuesučelja.
Metode čekanja
QueueSučelje uključuje sve metode iz Collectionsučelja. To je zato što Collectionje super sučelje Queue.
Neke od najčešće korištenih metoda Queuesučelja su:
- add () - Ubacuje navedeni element u red čekanja. Ako je zadatak uspješan,
add()vraća setrue, ako ne, izbacuje iznimku. - ponuda () - ubacuje navedeni element u red čekanja. Ako je zadatak uspješan,
offer()vraća setrue, ako ne, vraća sefalse. - element () - Vraća glavu reda. Baca iznimku ako je red prazan.
- peek () - Vraća glavu reda. Vraća
nullako je red prazan. - remove () - Vraća i uklanja glavu reda. Baca iznimku ako je red prazan.
- anketa () - Vraća i uklanja glavu reda. Vraća
nullako je red prazan.
Implementacija sučelja reda čekanja
1. Implementacija klase LinkedList
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); ) )
Izlaz
Red čekanja: (1, 2, 3) Pristupljeni element: 1 uklonjeni element: 1 ažurirani red: (2, 3)
Da biste saznali više, posjetite Java LinkedList.
2. Implementacija klase PriorityQueue
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); ) )
Izlaz
Red čekanja: (1, 5, 2) Pristupljeni element: 1 uklonjeni element: 1 ažurirani red: (2, 5)
Da biste saznali više, posjetite Java PriorityQueue.
U sljedećim uputstvima Queuedetaljno ćemo naučiti o različitim podsučeljima sučelja i njegovoj implementaciji.








