Interfață Java Queue

În acest tutorial, vom afla despre interfața Java Queue și metodele sale.

QueueInterfața cadrului colecțiilor Java oferă funcționalitatea structurii de coadă de date. Extinde Collectioninterfața.

Clase care implementează coada

Deoarece Queueeste o interfață, nu putem oferi implementarea directă a acesteia.

Pentru a utiliza funcționalitățile Queue, trebuie să folosim clase care o implementează:

  • ArrayDeque
  • LinkedList
  • PriorityQueue

Interfețe care extind coada

QueueInterfața este extinsă prin diverse subinterfaces:

  • Deque
  • BlockingQueue
  • BlockingDeque

Funcționarea structurii de date în coadă

În cozi, elementele sunt stocate și accesate în modul First In, First Out . Adică, elementele sunt adăugate din spate și îndepărtate din față .

Cum se folosește coada?

În Java, trebuie să importăm java.util.Queuepachetul pentru a-l utiliza 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(); 

Aici, am creat obiecte animal1, animal2 și animal3 claselor LinkedList, ArrayDequeși PriorityQueuerespectiv. Aceste obiecte pot utiliza funcționalitățile Queueinterfeței.

Metode de coadă

QueueInterfața include toate metodele Collectioninterfeței. Este pentru că Collectioneste super interfața Queue.

Unele dintre metodele frecvent utilizate ale Queueinterfeței sunt:

  • add () - Inserează elementul specificat în coadă. Dacă sarcina are succes, add()revine true, dacă nu, aruncă o excepție.
  • offer () - Inserează elementul specificat în coadă. Dacă sarcina are succes, offer()revine true, dacă nu, revine false.
  • element () - Returnează capul cozii. Aruncă o excepție dacă coada este goală.
  • peek () - Returnează capul cozii. Revine nulldacă coada este goală.
  • remove () - Returnează și elimină capul cozii. Aruncă o excepție dacă coada este goală.
  • poll () - Returnează și elimină capul cozii. Revine nulldacă coada este goală.

Implementarea interfeței de coadă

1. Implementarea clasei 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); ) ) 

Ieșire

 Coadă: (1, 2, 3) Element accesat: 1 Element eliminat: 1 Coadă actualizată: (2, 3) 

Pentru a afla mai multe, vizitați Java LinkedList.

2. Implementarea clasei 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); ) ) 

Ieșire

 Coadă: (1, 5, 2) Element accesat: 1 Element eliminat: 1 Coadă actualizată: (2, 5) 

Pentru a afla mai multe, vizitați Java PriorityQueue.

În următoarele tutoriale, vom afla despre diferite subinterfețe ale Queueinterfeței și implementarea acesteia în detaliu.

Articole interesante...