je výkonný programovací jazyk a podporuje rôzne dátové štruktúry, aby uľahčil život programátorom. V tomto článku sa pozrieme na jednu takúto dátovú štruktúru, ktorou je Java Queue. Toto sú ukazovatele, na ktoré sa tento článok zameriava,
- Fronta v Jave
- Implementácia frontu Java
- Metódy vo fronte Java
- Program na demonštráciu metód frontu
- Iterácia frontom Java
Začnime teda,
Fronta v Jave
Fronta je dátová štruktúra, ktorá dodržiava princíp FIFO (First-In-First-Out), t. J. Prvky sa vkladajú na koniec zoznamu a odstraňujú sa od začiatku zoznamu. Toto rozhranie je k dispozícii v balíku java.util.package a rozširuje rozhranie Collection.
Fronta podporuje viac metód, vrátane vkladania a mazania. Poradie dostupné v súbore java.util.package je známe ako Neviazané fronty , zatiaľ čo fronty prítomné v balíku java.util.concurrent sú známe, sú Ohraničené fronty.
Všetky fronty, okrem Deques, podporujú vkladanie na konci a mazanie spredu. Štítky podporujú vkladanie a vypúšťanie prvkov na oboch koncoch.
Prejdime k ďalšej téme tohto článku o fronte Java,
Implementácia frontu Java
Aby sme mohli používať rozhranie frontu, musíme vytvoriť inštanciu konkrétnej triedy. Nasleduje niekoľko implementácií, ktoré je možné použiť:
- util.LinkedList
- util.PriorityQueue
Pretože tieto implementácie nie sú bezpečné pre vlákna, funguje PriorityBlockingQueue ako alternatíva pre implementáciu bezpečnú pre vlákna.
Príklad:
Poradie q1 = nový LinkedList ()
Poradie q2 = nový PriorityQueue ()
Pozrime sa na niektoré dôležité metódy frontu Java,
Metódy vo fronte Java
- pridať (): Metóda add () sa používa na vloženie prvkov na koniec alebo na koniec frontu. Metóda sa dedí z rozhrania Collection.
- ponuka (): Metóda offer () je vhodnejšia ako metóda add (), pretože vkladá zadaný prvok do frontu bez porušenia akýchkoľvek kapacitných obmedzení.
- nahliadnuť (): Metóda peek () sa používa na pohľad na prednú časť frontu bez jej odstránenia. Ak je rad prázdny, vráti nulovú hodnotu.
- prvok(): Ak je front prázdny, metóda vyvolá NoSuchElementException.
- remove (): Metóda remove () odstráni prednú časť frontu a vráti ju. Ak je rad prázdny, hodí NoSuchElementException.
- anketa (): Metóda poll () odstráni začiatok frontu a vráti ho. Ak je rad prázdny, vráti nulovú hodnotu.
Nasleduje prehľad nasledujúcich metód:
Prevádzka | Vyvoláva výnimku | Vráti hodnotu |
Vložte | pridať (prvok) | ponuka (prvok) kedy použiť. v jave |
Odstrániť | odstrániť () | anketa () |
Preskúmajte | prvok() | nahliadnuť () |
Pozrime sa teraz na ukážku,
zlúčiť triediť c ++ kód
Program na demonštráciu metód frontu
import java.util. * public class Main {public static void main (String [] args) {// Nemôžeme vytvoriť inštanciu Queue, pretože ide o rozhranie, preto Queue q1 = new LinkedList () // Pridávanie prvkov do front q1.add ('I') q1.add ('Love') q1.add ('Rock') q1.add ('And') q1.add ('Roll') System.out.println ('Elements vo fronte: '+ q1) / * * Môžeme odstrániť prvok z frontu metódou remove (), * týmto sa odstráni prvý prvok z frontu * / System.out.println (' Odstránený prvok: '+ q1.remove ( )) / * * element () metóda - vráti hlavičku * frontu. Metóda * / System.out.println ('Head:' + q1.element ()) / * * poll () - odstráni a vráti * hlavu frontu. Vráti hodnotu null, ak je fronta prázdna * / System.out.println ('poll ():' + q1.poll ()) / * * metóda peek () - funguje rovnako ako metóda element (), * vráti sa však null ak je fronta prázdna * / System.out.println ('peek ():' + q1.peek ()) // Zobrazenie prvkov Queue System.out.println ('Elements in Queue:' + q1)} }
Výkon:
Prvky v poradí: [I, Love, Rock, And, Roll]
Odstránený prvok: I
Hlava: Láska
anketa (): Láska
nahliadnuť (): Skala
Prvky v poradí: [Rock, And, Roll]. Vo vyššie uvedenom príklade sa použila generická fronta.
V tomto type frontu môžeme obmedziť typ objektu vloženého do frontu. V našom príklade môžeme mať do frontu vložené iba reťazcové inštancie.
Iterácia frontom Java
Prvky vo fronte java je možné iterovať pomocou nasledujúceho kódu:
Poradie q1 = nový LinkedList ()
q1.add („Rock“)
q1.add („A“)
q1.add („Roll“)
// prístup cez Iterator
Iterátor iterátor = q1.iterator ()
while (iterator.hasNext () {
Reťazcový prvok = (Reťazec) iterator.next ()
}
// prístup cez nový cyklus for-loop
pre (Objekt objektu: q1) {
String element = (String) objekt
}
Poradie, v ktorom sú prvky iterované, závisí od implementácie frontu.
Aj keď existuje veľa metód, ktoré môže Java Queue implementovať, tu boli rozobrané najdôležitejšie metódy.
čo je typ casting v Jave
Týmto sme sa dostali na koniec tohto článku o „Java Queue“. Ak sa chcete dozvedieť viac,pozrite sa na Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil na základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.
Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.