Fronta Java: Vše, co potřebujete vědět o frontě v Javě

V tomto článku vezmeme populární datovou strukturu Java známou jako Java Queue. Pro lepší pochopení použijeme také vhodné programové příklady.

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,

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.