Wat is Stack Class in Java en hoe kan ik het gebruiken?



Stack class in Java is een onderdeel van het Collection framework dat bewerkingen zoals push, pop, etc. vereenvoudigt. Dit artikel focust op stack class met voorbeelden.

Datastructuren zijn een zegen geweest voor de programmeerwereld omdat ze het programmeren in hoge mate vereenvoudigen. Stack-klasse in Java is een onderdeel van dat vereenvoudigt verschillende bewerkingen zoals push, pop, enz. In dit artikel onderzoeken we dit concept in detail. De volgende tips worden in dit artikel besproken:

Laten we beginnen.





Wat is een Stack Class in Java?

Een stapel is een data structuur die volgt op LIFO (Last In First Out). Java Stack Class valt onder het Basic Collection Hierarchy Framework waarin u de basisbewerkingen zoals push, pop, etc. kunt uitvoeren. We weten datHet Java-verzamelingsraamwerk omvat interfaces en klassen . Laten we nu een duidelijk beeld hebben van hoe de stackklasse in Java is gerangschikt in de hiërarchie van het Java-verzamelingsraamwerk.

Hiërarchie - Stack Class in Java - Edureka



In de bovenstaande hiërarchie verwijst het blauwe vak naarde verschillende interfaces en het gele vak definieert de klasse. Een stapel in Java breidt de vectorklasse uit die verder implementeert Lijstinterface . Telkens wanneer u een stapel maakt, bevat deze aanvankelijk geen item, d.w.z. de stapel is leeg.

Laten we verder kijken naar de verschillende methoden van Java Stack Class.

Methoden van Stack Class in Java

In Java zijn er voornamelijk 5-methoden voor Stack Class.Hieronder volgen de methoden die tot onze beschikking staan ​​als we de stackklasse in Java gebruiken.



Methoden Omschrijving

leeg()

overbelasting versus overschrijven van c ++
Controleert of de stapel leeg is

Duwen()

Plaats een item bovenaan de stapel

pop ()

Verwijder het object van de stapel

kijkje()

Kijkt naar het object van een stapel zonder het te verwijderen

zoeken()

Zoekt item in de stapel om zijn index te krijgen

Laten we elk van deze methoden begrijpen met een programmatisch voorbeeld:

pakket Edureka import java.io. * import java.util. * public class StackMethods {// add of push element bovenaan de stack static void push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Weergave-element bovenaan de stack static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Zoekt naar element in de stack static void search_method (Stack st, int element) {Integer pos = ( Geheel getal) st.search (element) if (pos == -1) System.out.println ('Element niet gevonden') else System.out.println ('Element is gevonden op positie' + pos)} // Verwijdert element vanaf de bovenkant van de stapel static void pop_method (Stack st) {System.out.print ('pop =') Geheel getal n = (Geheel getal) st.pop () System.out.println (n) System.out.println ( 'Resterende stack:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Empty stack:' + 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) probeer {pop_method (st)} catch (EmptyStackException e) {System.out.println ('lege stapel')}}}

Uitgang:

Lege stapel: []
duwen (4)
Huidige stapel: [4]
duwen (8)
Huidige stapel: [4, 8]
duwen (9)
Huidige stapel: [4, 8, 9]
Element bovenop stapel: 9
Element niet gevonden
Element bevindt zich op positie 3
pop = 9
Resterende stapel: [4, 8]
pop = 8
Resterende stapel: [4]
pop = 4
Resterende stapel: []
pop = lege stapel

Uitleg: In bovenstaande Heb ik eerst een lege stapel geprint en een paar elementen toegevoegd met de Push-methode. Zodra de elementen in de stapel aanwezig zijn, heb ik de elementen bovenaan de stapel weergegeven met behulp van de Peek-methode. Daarna heb ik het zoeken uitgevoerd met de zoekmethode en uiteindelijk de elementen in de Java Stack-klasse verwijderd met behulp van de Pop-methode.

Laten we verder gaan met Java Stack Class, laten we eens kijken naar verschillende bewerkingen die u kunt uitvoeren tijdens het implementeren van stack class in Java.

kun je een reeks objecten maken in java

Java Stack-bewerkingen:

Grootte van de stapel:

pakket 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 ') // Controleer of de stapel leeg is System.out.println (' Is de Java-stack leeg? '+ stack.isEmpty ()) // Zoek de grootte van Stack System.out. println ('Grootte van stapel:' + stack.size ())}}

Uitgang: Is de Java-stack leeg? false
Grootte van stapel: 3

Herhaal elementen van een Java-stack:

  • Itereer over een stapel met iterator ()
  • Herhaal een stapel met Java 8 forEach ()
  • Herhaal een stapel met listIterator () van boven naar beneden

Laten we beginnen met het herhalen van elementen door iterator () te gebruiken.

pakket 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 ()) {Objectwaarde = iterator.next () System.out.println (waarde)} }}

Uitgang:

een
2
3

Evenzo kunt u de iteratie op andere manieren uitvoeren. Raadpleeg de onderstaande code voor meer begrip:

pakket demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack publieke klasse JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Iterate a stack using forEach () Method:') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterate over a Stack using listIterator () from Top to Bottom:') while (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Uitgang: Herhaal een stapel met de methode forEach ():
een
2
3
Herhaal een stapel met listIterator () van boven naar beneden:
3
2
een

Uitleg: In de bovenstaande code kunt u de iteratie zien met behulp van de methode forEach () en deze vervolgens omkeren met listIterator () van boven naar beneden van de stapel.

Dit is het einde van de blog 'Stack Class in Java'. Ik hoop dat jullie duidelijk zijn met het Java-verzamelingsraamwerk, het is hiërarchie samen met de Java Stack-klassenvoorbeeldcodes. Lees mijn volgende blogAan waar ik de 75 beste interviewvragen en antwoorden heb opgesomd die u zullen helpen om u te onderscheiden in het interviewproces.

Nu je Java Collections hebt begrepen, kun je het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De training- en certificeringcursus Java J2EE en SOA van Edureka is bedoeld voor studenten en professionals die Java-ontwikkelaar willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

hoe je een Java-programma compileert

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze “Stack class in Java” blog en we nemen zo snel mogelijk contact met je op.