Šioje pamokoje sužinosime apie „Java Queue“ sąsają ir jos metodus.
„ Queue
Java kolekcijų “ sąsaja suteikia eilės duomenų struktūros funkcionalumą. Tai išplečia Collection
sąsają.
Klasės, kurios įgyvendina eilę
Kadangi tai Queue
yra sąsaja, negalime tiesiogiai jos įgyvendinti.
Norėdami naudoti „“ funkcionalumą Queue
, turime naudoti klases, kurios tai įgyvendina:
- „ArrayDeque“
- „LinkedList“
- „PriorityQueue“
Sąsajos, pratęsiančios eilę
Queue
Sąsaja taip pat pratęsė įvairių subinterfaces:
Deque
BlockingQueue
BlockingDeque
Eilės duomenų struktūros darbas
Eilėse elementai saugomi ir prieinami „ First In“, „First Out“ būdu. Tai yra, elementai pridedami iš užpakalio ir pašalinami iš priekio .
Kaip naudoti eilę?
Jei java.util.Queue
norite naudoti „ Java“, turime importuoti paketą 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();
Čia, mes sukūrėme objektai animal1, animal2 ir animal3 klasių LinkedList
, ArrayDeque
ir PriorityQueue
atitinkamai. Šie objektai gali naudoti Queue
sąsajos funkcijas .
Eilės metodai
Queue
Sąsaja apima visus metodus Collection
sąsaja. Taip yra todėl, kad Collection
yra super sąsaja Queue
.
Kai kurie dažniausiai naudojami Queue
sąsajos metodai yra šie:
- add () - įterpia nurodytą elementą į eilę. Jei užduotis yra sėkminga,
add()
grįžtatrue
, jei ne, ji išmeta išimtį. - pasiūlymas () - įterpia nurodytą elementą į eilę. Jei užduotis sėkminga,
offer()
grįžtatrue
, jei nefalse
. - elementas () - pateikia eilės galvą. Išmeta išimtį, jei eilė tuščia.
- žvilgtelėti () - pateikia eilės galvą. Grąžina,
null
jei eilė tuščia. - pašalinti () - grąžina ir pašalina eilės galvą. Išmeta išimtį, jei eilė tuščia.
- apklausa () - grąžina ir pašalina eilės galvą. Grąžina,
null
jei eilė tuščia.
Eilės sąsajos diegimas
1. „LinkedList“ klasės įgyvendinimas
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); ) )
Rezultatas
Eilė: (1, 2, 3) Patekęs elementas: 1 Pašalintas elementas: 1 Atnaujinta eilė: (2, 3)
Norėdami sužinoti daugiau, apsilankykite „Java LinkedList“.
2. „PriorityQueue“ klasės įgyvendinimas
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); ) )
Rezultatas
Eilė: (1, 5, 2) Patekęs elementas: 1 Pašalintas elementas: 1 Atnaujinta eilė: (2, 5)
Norėdami sužinoti daugiau, apsilankykite „Java PriorityQueue“.
Kitose pamokose mes išsamiai sužinosime apie įvairias Queue
sąsajos subinterfeisus ir jų įgyvendinimą.