În acest tutorial, vom afla despre interfața Java Queue și metodele sale.
Queue
Interfața cadrului colecțiilor Java oferă funcționalitatea structurii de coadă de date. Extinde Collection
interfața.
Clase care implementează coada
Deoarece Queue
este 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
Queue
Interfaț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.Queue
pachetul 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 PriorityQueue
respectiv. Aceste obiecte pot utiliza funcționalitățile Queue
interfeței.
Metode de coadă
Queue
Interfața include toate metodele Collection
interfeței. Este pentru că Collection
este super interfața Queue
.
Unele dintre metodele frecvent utilizate ale Queue
interfeței sunt:
- add () - Inserează elementul specificat în coadă. Dacă sarcina are succes,
add()
revinetrue
, dacă nu, aruncă o excepție. - offer () - Inserează elementul specificat în coadă. Dacă sarcina are succes,
offer()
revinetrue
, dacă nu, revinefalse
. - element () - Returnează capul cozii. Aruncă o excepție dacă coada este goală.
- peek () - Returnează capul cozii. Revine
null
dacă coada este goală. - remove () - Returnează și elimină capul cozii. Aruncă o excepție dacă coada este goală.
- poll () - Returnează și elimină capul cozii. Revine
null
dacă 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 Queue
interfeței și implementarea acesteia în detaliu.