je výkonný programovací jazyk a podporuje různé datové struktury, aby usnadnil život programátorům. V tomto článku se podíváme na jednu takovou datovou strukturu, kterou je Java Queue. Toto jsou ukazatele, na které se tento článek zaměřuje,
- Fronta v Javě
- Implementace fronty Java
- Metody ve frontě Java
- Program pro předvedení metod fronty
- Iterace prostřednictvím fronty Java
Pojďme tedy začít,
Fronta v Javě
Fronta je datová struktura, která se řídí zásadou FIFO (First-In-First-Out), tj. Prvky se vkládají na konec seznamu a odstraňují se od začátku seznamu. Toto rozhraní je k dispozici v balíčku java.util.package a rozšiřuje rozhraní kolekce.
Fronta podporuje více metod, včetně vkládání a mazání. Fronty dostupné v souboru java.util.package jsou známé jako Neomezené fronty , zatímco fronty přítomné v balíčku java.util.concurrent jsou známé, jsou Ohraničené fronty.
Všechny fronty, kromě Deques, podporují vkládání na konci a mazání zepředu. Deques podporuje vkládání a mazání prvků na obou koncích.
Pojďme se přesunout k dalšímu tématu tohoto článku ve frontě Java,
Implementace fronty Java
Aby bylo možné použít rozhraní fronty, musíme vytvořit instanci konkrétní třídy. Následuje několik implementací, které lze použít:
- util.LinkedList
- util.PriorityQueue
Protože tyto implementace nejsou bezpečné pro vlákna, funguje PriorityBlockingQueue jako alternativa pro implementaci bezpečnou pro vlákna.
Příklad:
Fronta q1 = nový LinkedList ()
Fronta q2 = nová PriorityQueue ()
Pojďme se podívat na některé důležité metody fronty Java,
Metody ve frontě Java
- přidat(): Metoda add () se používá k vložení prvků na konec nebo na konec fronty. Metoda se dědí z rozhraní Collection.
- nabídka(): Metoda offer () je vhodnější než metoda add (), protože vloží zadaný prvek do fronty bez porušení omezení kapacity.
- nahlédnout (): Metoda peek () se používá k pohledu na přední část fronty, aniž by ji odstranila. Pokud je fronta prázdná, vrátí hodnotu null.
- živel(): Pokud je fronta prázdná, metoda vyvolá NoSuchElementException.
- odstranit(): Metoda remove () odstraní přední část fronty a vrátí ji. Vyvolá NoSuchElementException, pokud je fronta prázdná.
- hlasování(): Metoda poll () odstraní začátek fronty a vrátí ji. Pokud je fronta prázdná, vrátí hodnotu null.
Přehled následujících metod je uveden následovně:
Úkon | Vyvolá výjimku | Vrátí hodnotu |
Vložit | přidat (prvek) | nabídka (prvek) otázky ohledně cloudových služeb služby salesforce |
Odstranit | odstranit() | hlasování() |
Prozkoumat | živel() | nahlédnout () |
Pojďme se nyní podívat na ukázku,
php.mysql_fetch_array
Program pro předvedení metod fronty
import java.util. * public class Main {public static void main (String [] args) {// Nemůžeme vytvořit instanci Queue, protože se jedná o rozhraní, proto jsme Queue q1 = new LinkedList () // Přidávání prvků do fronta q1.add ('I') q1.add ('Love') q1.add ('Rock') q1.add ('And') q1.add ('Roll') System.out.println ('Elements ve frontě: '+ q1) / * * Můžeme odstranit prvek z fronty pomocí metody remove (), * toto odstraní první prvek z fronty * / System.out.println (' Odstraněný prvek: '+ q1.remove ( )) / * * element () metoda - vrátí hlavu * fronty. Metoda * / System.out.println ('Head:' + q1.element ()) / * * poll () - odstraní a vrátí * hlavu fronty. Vrátí null, pokud je fronta prázdná * / System.out.println ('poll ():' + q1.poll ()) / * * peek () metoda - funguje stejně jako metoda element (), * ale vrací null, pokud je fronta prázdná * / System.out.println ('peek ():' + q1.peek ()) // Zobrazení prvků Queue System.out.println ('Elements in Queue:' + q1)} }
Výstup:
Elements in Queue: [I, Love, Rock, And, Roll]
Odstraněný prvek: I
Hlava: Láska
hlasování (): Láska
nahlédnout (): Rock
Prvky ve frontě: [Rock, And, Roll]. Ve výše uvedeném příkladu byla použita obecná fronta.
V tomto typu fronty můžeme omezit typ objektu vloženého do fronty. V našem příkladu můžeme mít do fronty vloženy pouze řetězcové instance.
Iterace prostřednictvím fronty Java
Prvky ve frontě Java lze iterovat pomocí následujícího kódu:
Fronta q1 = nový LinkedList ()
q1.add („Rock“)
q1.add („A“)
q1.add („Roll“)
// přístup přes Iterator
Iterátor iterátor = q1.iterator ()
while (iterator.hasNext () {
String element = (String) iterator.next ()
}
// přístup přes novou smyčku for
pro (Objekt objektu: q1) {
String element = (String) objekt
}
Pořadí, ve kterém jsou prvky iterovány, závisí na implementaci fronty.
I když existuje řada metod, které může fronta Java implementovat, zde byly popsány nejdůležitější metody.
Fibonacciho čísla c ++
Tak jsme dospěli ke konci tohoto článku o „frontě Java“. Pokud se chcete dozvědět více,podívejte se na Edureka, důvěryhodná online vzdělávací společnost. Výcvikový a certifikační kurz Edureka Java J2EE a SOA je navržen tak, aby vás vyškolil jak pro základní, tak pro pokročilé koncepty Java spolu s různými rámci Java jako Hibernate & Spring.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto blogu a my se vám ozveme co nejdříve.