Čo je to Stack Class v Jave a ako ju používať?



Trieda zásobníka v jazyku Java je súčasťou rámca Collection, ktorý zjednodušuje operácie ako push, pop atď. Tento článok sa zameriava na triedu zásobníka s príkladmi.

Dátové štruktúry boli prínosom pre svet programovania, pretože do veľkej miery zjednodušujú programovanie. Trieda zásobníka v Jave je súčasťou čo zjednodušuje rôzne operácie ako push, pop atď. V tomto článku podrobne skúmame tento koncept. V tomto článku budeme skúmať nasledujúce ukazovatele:

Začnime.





Čo je to trieda stacku v Jave?

Stoh je a dátová štruktúra ktorý nasleduje po LIFO (Last In First Out). Trieda Java Stack Class spadá pod základný rámec Collection Hierarchy Framework, v ktorom môžete vykonávať základné operácie, ako je push, pop atď. Vieme, žeRámec kolekcie Java obsahuje rozhrania a triedy . Poďme si teraz urobiť jasný pohľad na to, ako je trieda zásobníka v Jave usporiadaná v hierarchii rámcov zbierok Java.

Hierarchia - trieda zásobníka v Jave - Edureka



Vo vyššie uvedenej hierarchii sa na modré pole vzťahujerôzne rozhrania a žlté políčko definuje triedu. Zásobník v Jave rozširuje vektorovú triedu, ktorá sa ďalej implementuje Zoznamové rozhranie . Kedykoľvek vytvoríte zásobník, spočiatku neobsahuje žiadnu položku, tj. Zásobník je prázdny.

Ďalej sa pozrime na rôzne metódy triedy Java Stack.

Metódy komínovej triedy v Jave

V Jave existuje hlavne 5 metód Stack Class.Nasledujú metódy, ktoré máme k dispozícii, keď používame triedu zásobníka v Jave.



nastaviť java classpath windows 10

Metódy Popis

prázdne ()

Skontroluje, či je stoh prázdny

tlačiť()

Položte položku na vrchol stohu

pop ()

Vyberte predmet zo stohu

nahliadnuť ()

Pozerá sa na objekt stohu bez jeho odstránenia

Vyhľadávanie()

Vyhľadá položku v zásobníku a získa jej index

Pochopme každú z týchto metód na programovom príklade:

balíček Edureka import java.io. * import java.util. * verejná trieda StackMethods {// pridať alebo poslať prvok na vrch zásobníka static void push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Element zobrazenia v hornej časti stohu static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on top stack:' + element)} // Vyhľadá element v zásobníku static void search_method (Stack st, int element) {Integer pos = ( Celé číslo) st.search (element) if (pos == -1) System.out.println ('Element not found') else System.out.println ('Element is found at position' + pos)} // Odstráni element z hornej časti stohu static void pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Zostávajúci zásobník:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Prázdny zásobník:' + st) push_method (st, 4) push_method (st, 8) push_method (st, 9) peek_method (st) search_method (st, 2) search_method (st, 4) pop_method ( st) pop_method (st) pop_method (st) vyskúšať {pop_method (st)} chytiť (EmptyStackException e) {System.out.println ('prázdny zásobník')}}}

Výkon:

Prázdny zásobník: []
tlačiť (4)
Aktuálny zásobník: [4]
zatlačiť (8)
Aktuálny zásobník: [4, 8]
zatlačiť (9)
Aktuálny zásobník: [4, 8, 9]
Prvok na vrchu stohu: 9
Prvok sa nenašiel
Prvok sa nachádza na pozícii 3
pop = 9
Zostávajúci stack: [4, 8]
pop = 8
Zostávajúci zásobník: [4]
pop = 4
Zostávajúci zásobník: []
pop = prázdny zásobník

Vysvetlenie: Vo vyššie uvedenom , Najprv som vytlačil prázdny stoh a pridal niekoľko prvkov pomocou metódy Push. Akonáhle sú prvky prítomné v zásobníku, pomocou metódy Peek som ich zobrazil na vrchu zásobníka. Potom som vykonal vyhľadávanie pomocou metódy Search a nakoniec som pomocou metódy Pop odstránil prvky v triede Java Stack.

Vpred s triedou Java Stack Class sa pozrime na rôzne operácie, ktoré môžete vykonať pri implementácii triedy stacku v Jave.

Operácie Java Stack:

Veľkosť stohu:

balík Edureka import java.util.EmptyStackException import java.util.Stack verejná trieda StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Skontrolujte, či je zásobník prázdny System.out.println (' Je zásobník Java prázdny? '+ stack.isEmpty ()) // Nájdite veľkosť priečinka Stack System.out. println ('Veľkosť stohu:' + stack.size ())}}

Výkon: Je zásobník Java prázdny? nepravdivé
Veľkosť stohu: 3

Iterovať prvky Java Stack:

  • Iterácia nad zásobníkom pomocou iterátora ()
  • Iterácia nad zásobníkom pomocou Java 8 forEach ()
  • Iterujte nad zásobníkom pomocou listIterator () zhora nadol

Začnime iterovať prvky pomocou iterátora ().

balík Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack verejná trieda StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Iterator iterator = stack.iterator () while (iterator.hasNext ()) {Object value = iterator.next () System.out.println (hodnota)} }}

Výkon:

jeden
2
3

Podobne môžete vykonať iteráciu inými metódami. Ďalšie informácie nájdete v nasledujúcom kóde:

balík demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack verejná trieda JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Iterovať zásobník pomocou metódy forEach ():') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterovať nad zásobníkom pomocou listIterator () zhora nadol:') while (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Výkon: Iterácia stohu pomocou metódy forEach ():
jeden
2
3
Iterácia nad zásobníkom pomocou listIterator () zhora nadol:
3
2
jeden

Vysvetlenie: Vo vyššie uvedenom kóde môžete vidieť iteráciu pomocou metódy forEach () a potom ju obrátiť pomocou listIterator () zhora nadol v zásobníku.

Týmto sa končí blog „Stack Class in Java“. Dúfam, že máte s rámcom zbierok Java jasno, je to hierarchia spolu s príkladmi kódov triedy Java Stack. Prečítajte si môj ďalší blogna kde som uviedol 75 najdôležitejších otázok a odpovedí na pohovory, ktoré vám pomôžu oddeliť sa v procese pohovoru.

Teraz, keď ste porozumeli zbierkam Java, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v jazyku Java a naučil vás základné aj pokročilé koncepty jazyka 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 v tomto blogu „Stack class in Java“ a my sa vám ozveme čo najskôr.