Šajā apmācībā mēs uzzināsim par Java Queue saskarni un tās metodēm.
Queue
Java kolekcijas ietvaros saskarne nodrošina funkcionalitāti rindas datu struktūru. Tas paplašina Collection
saskarni.
Klases, kas ievieš rindu
Tā kā šī Queue
ir saskarne, mēs nevaram nodrošināt tās tiešu ieviešanu.
Lai izmantotu funkcijas Queue
, mums jāizmanto klases, kas to ievieš:
- ArrayDeque
- LinkedList
- PriorityQueue
Saskarnes, kas pagarina rindu
Queue
Saskarne tiek pagarināts arī ar dažādiem subinterfaces:
Deque
BlockingQueue
BlockingDeque
Rindas datu struktūras darbība
Rindās elementi tiek glabāti un tiem piekļūst First In, First Out veidā. Tas ir, elementi tiek pievienoti no aizmugures un noņemti no priekšpuses .
Kā izmantot rindu?
Java lietošanai mums jāimportē java.util.Queue
pakete 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();
Lūk, mēs esam radījuši objektus animal1, animal2 un animal3 klašu LinkedList
, ArrayDeque
un PriorityQueue
attiecīgi. Šie objekti var izmantot Queue
saskarnes funkcionalitāti .
Rindas metodes
Queue
Interfeiss ietver visas metodes ar Collection
interfeisu. Tas ir tāpēc, ka Collection
ir super saskarne Queue
.
Dažas no Queue
saskarnes visbiežāk izmantotajām metodēm ir:
- add () - ievieto norādīto elementu rindā. Ja uzdevums ir veiksmīgs,
add()
atgriežastrue
, ja nē, tas izmet izņēmumu. - piedāvājums () - ievieto norādīto elementu rindā. Ja uzdevums ir veiksmīgs,
offer()
atgriežastrue
, ja nē, tas atgriežasfalse
. - elements () - atgriež rindas galvu. Izmet izņēmumu, ja rinda ir tukša.
- palūrēt () - atgriež rindas galvu. Atgriež,
null
ja rinda ir tukša. - noņemt () - atgriež un noņem rindas galviņu. Izmet izņēmumu, ja rinda ir tukša.
- poll () - atgriež un noņem rindas galviņu. Atgriež,
null
ja rinda ir tukša.
Rindas saskarnes ieviešana
1. LinkedList klases ieviešana
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); ) )
Rezultāts
Rinda: (1, 2, 3) Piekļūtais elements: 1 Noņemtais elements: 1 Atjauninātā rinda: (2, 3)
Lai uzzinātu vairāk, apmeklējiet Java LinkedList.
2. PriorityQueue klases ieviešana
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); ) )
Rezultāts
Rinda: (1, 5, 2) Piekļuvais elements: 1 Noņemtais elements: 1 Atjauninātā rinda: (2, 5)
Lai uzzinātu vairāk, apmeklējiet Java PriorityQueue.
Nākamajās apmācībās mēs Queue
detalizēti uzzināsim par dažādām saskarnes apakš saskarnēm un tās ieviešanu.