Az adatstruktúrák jótékony hatással voltak a programozási világra, mivel nagymértékben leegyszerűsítik a programozást. A Java verem osztály része amely leegyszerűsíti a különböző műveleteket, például a push, pop stb. Ebben a cikkben részletesen megvizsgáljuk ezt a koncepciót. A következő mutatók kerülnek tanulmányozásra ebben a cikkben:
Lássunk neki.
Mi a Stack osztály a Java-ban?
A verem egy adatszerkezet amely a LIFO-t (Last In First Out) követi. A Java Stack osztály az alap Gyűjtemény-hierarchia keretrendszer alá tartozik, amelyben elvégezheti az alapvető műveleteket, például push, pop stb. Tudjuk, hogyJava gyűjtemény keretrendszer tartalmazza interfészek és osztályok . Most legyen tiszta képet arról, hogyan van elrendezve a Java verem osztálya a Java gyűjtemények keretrendszerének hierarchiájában.
A fenti hierarchiában a kék négyzet utala különböző interfészek és a sárga doboz meghatározza az osztályt. A Java-ban található verem kiterjeszti a vektorosztályt, amely tovább valósul Lista felület . A verem létrehozásakor kezdetben nem tartalmaz semmilyen elemet, vagyis a verem üres.
Előre haladva nézzük meg a Java Stack osztály különböző módszereit.
A Stack osztály módszerei a Java-ban
A Java-ban főként a Stack Class 5 módszere létezik.Az alábbiakban bemutatjuk azokat a módszereket, amelyek rendelkezésünkre állnak, amikor a stack osztályt használjuk a Java-ban.
Mód | Leírás |
üres() | Ellenőrzi, hogy a verem üres-e |
nyom() | Tegyen egy elemet a verem tetejére |
pop () | Távolítsa el az objektumot a veremből |
kandikál() | A verem tárgyát úgy nézi meg, hogy nem távolítja el |
keresés() | Keresi az elemet a veremben, hogy megkapja az indexét |
Engedje meg, hogy megismerjük ezeket a módszereket egy programozási példával:
csomag Edureka import java.io. * import java.util. * public class StackMethods {// elem hozzáadása vagy nyomása a verem tetején statikus void push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // A verem tetején látható elem statikus void peek_method (Stack & ampampampltInteger & ampampampgt st) { Egész elem = (Egész) st.peek () System.out.println ('Elem a verem tetején:' + elem)} // Elemet keres a veremben statikus void search_method (Verem st, int elem) {Egész szám pos = ( Egész) st.search (elem) if (pos == -1) System.out.println ('Element not found') else System.out.println ('Element található a pozícióban' + pos)} // Elem eltávolítása a verem tetejéről statikus void pop_method (Verem st) {System.out.print ('pop =') Egész n = (Egész) st.pop () System.out.println (n) System.out.println ( 'Maradék verem:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Üres verem:' + 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) próbáld ki {pop_method (st)} catch (EmptyStackException e) {System.out.println ('empty stack')}}}
Kimenet:
Üres verem: []
tolás (4)
Aktuális verem: [4]
nyomás (8)
Aktuális verem: [4, 8]
nyomás (9)
Aktuális verem: [4, 8, 9]
Elem a verem tetején: 9
Az elem nem található
Az elem a 3. pozícióban található
pop = 9
Maradék verem: [4, 8]
pop = 8
Maradék verem: [4]
pop = 4
Maradék verem: []
pop = üres verem
konvertálni bináris decimális java
Magyarázat: A fentiekben , Először kinyomtattam egy üres köteget és hozzáadtam néhány elemet a Push módszerrel. Miután az elemek jelen vannak a veremben, a verem tetején jelenítettem meg az elemeket a Peek módszerrel. Ezt követően keresést végeztem a Search módszerrel, és végül eltávolítottam a Java Stack osztály elemeit a Pop módszerrel.
A Java Stack Class előrelépésével nézzük meg a különféle műveleteket, amelyeket elvégezhet, miközben a stack osztályt megvalósítja a Java-ban.
Java verem műveletek:
A verem mérete:
csomag Edureka import java.util.EmptyStackException import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Ellenőrizze, hogy üres-e a verem. System.out.println (' Üres a Java-verem? '+ stack.isEmpty ()) // Keresse meg a Stack System.out méretét. println ('Verem mérete:' + verem.méret ())}}
Kimenet: A Java verem üres? hamis
Verem mérete: 3
Java verem ismételt elemei:
- Iterálás egy verem felett az iterátor használatával ()
- Iterálás egy verem felett a Java 8 forEach () használatával
- Iterál egy verem felett a listIterator () segítségével felülről lefelé
Kezdjük iterálni az elemeket az iterator () használatával.
csomag Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack public class 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 (value)} }}
Kimenet:
egy
2
3
Ehhez hasonlóan elvégezheti az iterációt más módszerekkel is. A megértés érdekében olvassa el az alábbi kódot:
package demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack public class JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Iterálj egy verem forEach () Method:') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterálás egy köteg felett a listIterator () használatával fentről lefelé:') míg (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}
Kimenet: Verem iterálása a forEach () módszerrel:
egy
2
3
Iterál egy verem felett a listIterator () segítségével felülről lefelé:
3
2
egy
Magyarázat: A fenti kódban láthatja az itElate () metódust használó iterációt, majd ugyanezt a listAterator () segítségével fordíthatja a verem tetejétől lefelé.
Ezzel vége a „Stack Class in Java” blognak. Remélem, hogy tisztában vagytok a Java gyűjtemények keretrendszerével, ez a hierarchia és a Java Stack osztály példakódjai. Olvassa el a következő blogomattovább ahol felsoroltam a 75 legnépszerűbb interjúkérdést és választ, amelyek segítenek elkülöníteni az interjú folyamatát.
Most, hogy megértette a Java gyűjteményeket, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Java programozásban, és képezze mind az alapvető, mind a fejlett Java koncepciókhoz, valamint a különböző Java keretrendszerekhez, például a Hibernate & Spring.
Van egy kérdésünk? Kérjük, említse meg a „Stack class in Java” blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.