Sučelje Java Queue

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:

  • Deque
  • BlockingQueue
  • BlockingDeque

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 se true, ako ne, izbacuje iznimku.
  • ponuda () - ubacuje navedeni element u red čekanja. Ako je zadatak uspješan, offer()vraća se true, ako ne, vraća se false.
  • 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.

Zanimljivi članci...