moćan je programski jezik i podržava razne strukture podataka kako bi olakšao život programera. U ovom ćemo članku pogledati jednu takvu strukturu podataka koja je Java Queue. Ovo su upute na koje se ovaj članak fokusira,
- Red u Javi
- Implementacija Java reda čekanja
- Metode u Java Queue
- Program za demonstraciju metoda čekanja
- Iteriranje kroz Java red
Krenimo onda,
Red u Javi
Red čekanja je struktura podataka koja slijedi princip FIFO (First-In-First-Out) tj. Elementi su umetnuti na kraj popisa i izbrisani s početka popisa. Ovo sučelje je dostupno u java.util.package i proširuje sučelje za prikupljanje.
Red čekanja podržava više metoda, uključujući umetanje i brisanje. Redovi dostupni u java.util.package poznati su kao Neograničeni redovi , dok su redovi prisutni u java.util.concurrent paketu poznati Ograničeni redovi.
Svi redovi, osim Dequeova, podržavaju umetanje na kraju i brisanje s prednje strane. Deques podržavaju umetanje i brisanje elemenata na oba kraja.
Prijeđimo na sljedeću temu ovog članka o Java Queue,
Implementacija Java reda čekanja
Da bismo koristili sučelje reda, moramo instancirati konkretnu klasu. Slijedi nekoliko implementacija koje se mogu koristiti:
- util.LinkedList
- util.PriorityQueue
Budući da ove implementacije nisu sigurne u niti, PriorityBlockingQueue djeluje kao alternativa za implementaciju sigurnu u niti.
Primjer:
Red čekanja q1 = novi LinkedList ()
Red čekanja q2 = novi PriorityQueue ()
Pogledajmo neke važne metode Java Queue,
Metode u Java Queue
- dodati(): Metoda add () koristi se za umetanje elemenata na kraju ili u rep reda. Metoda je naslijeđena od sučelja Collection.
- ponuda(): Metoda offer () poželjnija je od metode add () jer ubacuje navedeni element u red bez kršenja ograničenja kapaciteta.
- zaviriti (): Metoda peek () koristi se za gledanje prednjeg dijela reda bez uklanjanja. Ako je red prazan, vraća null vrijednost.
- element(): Ako je red prazan, metoda baca NoSuchElementException.
- ukloniti(): Metoda remove () uklanja prednji dio reda i vraća ga. Baca NoSuchElementException ako je red prazan.
- anketa(): Metoda poll () uklanja početak reda i vraća ga. Ako je red prazan, vraća null vrijednost.
Daje se pregled sljedećih metoda:
Operacija | Baca iznimku | Vraća vrijednost |
Umetnuti | dodaj (element) | ponuda (element) |
Ukloniti | ukloniti() | anketa() |
Ispitati, pregledati | element() | zaviriti () |
Pogledajmo sada demonstraciju,
Program za demonstraciju metoda čekanja
import java.util. * javna klasa Main {public static void main (String [] args) {// Ne možemo stvoriti instancu reda čekanja jer je to sučelje, pa zato postavljamo red q1 = new LinkedList () // Dodavanje elemenata red čekanja q1.add ('I') q1.add ('Ljubav') q1.add ('Rock') q1.add ('I') q1.add ('Roll') System.out.println ('Elementi u redu čekanja: '+ q1) / * * Element možemo ukloniti iz reda čekanja metodom remove (), * ovo uklanja prvi element iz reda čekanja * / System.out.println (' Uklonjeni element: '+ q1.remove ( )) / * * metoda element () - ovo vraća glavu * Reda čekanja. * / System.out.println ('Head:' + q1.element ()) / * * metoda ankete () - ovim se uklanja i vraća * glava reda. Vraća nulu ako je Red čekanja prazan * / System.out.println ('poll ():' + q1.poll ()) / * * metoda peek () - radi isto kao i metoda element (), * međutim vraća se null ako je Red čekanja prazan * / System.out.println ('peek ():' + q1.peek ()) // Prikazivanje elemenata Queue System.out.println ('Elementi u redu:' + q1)} }
Izlaz:
c ++ pomoću prostora imena
Elementi u redu: [Ja, ljubav, rock i rola]
Uklonjeni element: I
Glava: Ljubav
anketa (): Ljubav
zaviriti (): Stijena
Elementi u redu čekanja: [Rock, And, Roll]. U gornjem primjeru korišten je generički red.
U ovoj vrsti reda možemo ograničiti vrstu objekta umetnutog u red. U našem primjeru možemo imati samo niz instanci umetnutih u red čekanja.
Iteriranje kroz Java red
Elementi u Java redu čekanja mogu se ponoviti pomoću sljedećeg koda:
Red čekanja q1 = novi LinkedList ()
q1.add ('Rock')
q1.add ('I')
q1.add ('svitak')
// pristup putem Iteratora
Iterator iterator = q1.iterator ()
while (iterator.hasNext () {
String element = (String) iterator.next ()
}
// pristup putem nove for-petlje
za (Objekt objekt: q1) {
String element = (String) objekt
}
Slijed u kojem se elementi ponavljaju ovisi o provedbi reda.
Iako postoji više metoda koje Java Queue može implementirati, ovdje su raspravljene najvažnije metode.
Tako smo došli do kraja ovog članka o 'Java Queue'. Ako želite saznati više,provjerite Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.
Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.