Hvad er Stack Class i Java, og hvordan bruges det?



Stack-klasse i Java er en del af Collection-rammen, der forenkler operationer som push, pop osv. Denne artikel fokuserer på stack-klasse med eksempler.

Datastrukturer har været en velsignelse for programmeringsverdenen, da de i høj grad forenkler programmering. Stack-klassen i Java er en del af der forenkler forskellige operationer som push, pop osv. I denne artikel udforsker vi dette koncept i detaljer. Følgende punkter vil blive udforsket i denne artikel:

Lad os komme igang.





Hvad er en stakklasse i Java?

En stak er en datastruktur som følger LIFO (Last In First Out). Java Stack-klasse falder ind under den grundlæggende ramme for samlingshierarki, hvor du kan udføre de grundlæggende operationer såsom push, pop osv. Vi ved, atJava-indsamlingsrammer inkluderer grænseflader og klasser . Lad os nu få en klar oversigt over, hvordan stack-klassen i Java er arrangeret i Java-samlingsrammens hierarki.

c ++ sorteringsarray

Hierarki - stakklasse i Java - Edureka



I ovenstående hierarki henviser den blå boks tilde forskellige grænseflader og den gule boks definerer klassen. En stak i Java udvider vektorklassen, som yderligere implementeres Liste interface . Når du opretter en stak, indeholder den oprindeligt ikke noget element, dvs. stakken er tom.

Lad os se de forskellige metoder i Java Stack Class.

Metoder til stakklasse i Java

I Java er der hovedsagelig 5 metoder til Stack Class.Følgende er de metoder, vi har til rådighed, når vi bruger stakklassen i Java.



Metoder Beskrivelse

tom()

Kontrollerer, om stakken er tom

skubbe()

Pust et emne til toppen af ​​stakken

pop ()

Fjern genstanden fra stakken

kigge ()

Ser på genstanden for en stak uden at fjerne den

Søg()

Søger element i stakken for at få sit indeks

Lad os forstå hver af disse metoder med et programmatisk eksempel:

pakke Edureka import java.io. * import java.util. * offentlig klasse StackMethods {// tilføj eller skub element øverst på stakken statisk ugyldigt push_method (Stack st, int n) {st.push (nyt heltal (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Vis element øverst på stakken statisk ugyldigt peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Søger element i stakken statisk ugyldigt search_method (Stack st, int element) {Integer pos = ( Heltal) st.search (element) hvis (pos == -1) System.out.println ('Element ikke fundet') ellers System.out.println ('Element findes i position' + pos)} // Fjerner element fra toppen af ​​stakken statisk ugyldigt pop_method (stak st) {System.out.print ('pop =') Heltal n = (Heltal) st.pop () System.out.println (n) System.out.println ( 'Resterende stak:' + st)} offentlig statisk ugyldig hoved (String args []) {Stack st = new Stack () Sys tem.out.println ('Tom stak:' + st) skub_metode (st, 4) skub_metode (st, 8) skub_metode (st, 9) kig_metode (st) søg_metode (st, 2) søg_metode (st, 4) pop_metode ( st) pop_method (st) pop_method (st) prøv {pop_method (st)} catch (EmptyStackException e) {System.out.println ('tom stak')}}}

Produktion:

Tom stak: []
skub (4)
Nuværende stak: [4]
skub (8)
Nuværende stak: [4, 8]
skub (9)
Nuværende stak: [4, 8, 9]
Element på stak top: 9
Element ikke fundet
Element findes i position 3
pop = 9
Resterende stak: [4, 8]
pop = 8
Resterende stak: [4]
pop = 4
Resterende stak: []
pop = tom stak

Forklaring: I ovenstående , Jeg har først udskrevet en tom stak og tilføjet et par elementer ved hjælp af Push-metoden. Når elementerne er til stede i stakken, har jeg vist elementerne øverst på stakken ved hjælp af Peek-metoden. Derefter har jeg udført søgning ved hjælp af søgemetoden og endelig fjernet elementerne i klassen Java Stack ved hjælp af Pop-metoden.

Fortsæt med Java Stack Class, lad os se på forskellige operationer, du kan udføre, mens du implementerer stack-klasse i Java.

eksempel på instansvariabel i java

Java Stack-operationer:

Stakkens størrelse:

pakke 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 ') // Kontroller, om stakken er tom System.out.println (' Er Java Stack tom? '+ stack.isEmpty ()) // Find størrelsen på Stack System.out. println ('Størrelse på stak:' + stak.størrelse ())}}

Produktion: Er Java Stack tom? falsk
Størrelse på stakken: 3

Iterate Elements of a Java Stack:

  • Iterer over en stak ved hjælp af iterator ()
  • Iterer over en stak ved hjælp af Java 8 forEach ()
  • Iterer over en stak ved hjælp af listIterator () fra top til bund

Lad os begynde at gentage elementer ved hjælp af iterator ().

pakke Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack offentlig klasse StackOperations {offentlig statisk ugyldig main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Iterator iterator = stack.iterator () mens (iterator.hasNext ()) {Objektværdi = iterator.next () System.out.println (værdi)} }}

Produktion:

en
2
3

På samme måde kan du udføre iteration ved andre metoder. Se nedenstående kode for mere forståelse:

pakke demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack offentlig klasse JavaOperators {offentlig statisk ugyldig main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Iterer en stack ved hjælp af forEach () Method:') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterer over en stak ved hjælp af listIterator () fra top til bund:') mens (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Produktion: Iterer en stak ved hjælp af metoden forEach ():
en
2
3
Iterer over en stak ved hjælp af listIterator () fra top til bund:
3
2
en

hvordan man laver en række objekter i java

Forklaring: I ovenstående kode kan du se iteration ved hjælp af forEach () -metoden og derefter vende den samme ved hjælp af listIterator () fra top til bund af stakken.

Dette er slutningen af ​​bloggen 'Stack Class in Java'. Jeg håber, at I er klare med Java-samlinger, det er hierarki sammen med Java Stack-klassens eksempelkoder. Læs min næste blog hvor jeg har anført de 75 mest populære interviewspørgsmål og svar, som vil hjælpe dig med at skille dig ud i interviewprocessen.

Nu hvor du har forstået Java Collections, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til studerende og fagfolk, der ønsker at være Java-udvikler. Kurset er designet til at give dig et forspring i Java-programmering og træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne “Stack-klasse i Java” -blog, så vi vender tilbage til dig hurtigst muligt.