Tietorakenteet ovat olleet hyödyllinen ohjelmointimaailmalle, koska ne yksinkertaistavat ohjelmointia suuressa määrin. Stack-luokka Java on osa joka yksinkertaistaa erilaisia toimintoja, kuten push, pop jne. Tässä artikkelissa tutkitaan tätä käsitettä yksityiskohtaisesti. Tässä artikkelissa tarkastellaan seuraavia ohjeita:
Aloitetaan.
Mikä on Java-pino-luokka?
Pino on tietorakenne joka seuraa LIFOa (Last In First Out). Java-pino-luokka kuuluu peruskokoelman hierarkiakehykseen, jossa voit suorittaa perustoimintoja, kuten push, pop jne. Tiedämme, ettäJava-kokoelmakehys sisältää rajapinnat ja luokat . Olkaamme nyt selkeä näkemys siitä, miten Java-pino-luokka on järjestetty Java-kokoelmien kehyshierarkiassa.
Yllä olevassa hierarkiassa sininen ruutu viittaaeri rajapinnat ja keltainen laatikko määrittävät luokan. Java-pino laajentaa vektoriluokkaa, joka toteuttaa edelleen Luettelon käyttöliittymä . Aina kun luot pinon, aluksi se ei sisällä mitään kohdetta, eli pino on tyhjä.
Etenemme eteenpäin, katsotaanpa Java Stack Classin eri menetelmät.
Stack-luokan menetelmät Javassa
Java-ohjelmassa on pääosin viisi Stack-luokan menetelmää.Seuraavassa on menetelmiä, jotka ovat käytössämme, kun käytämme pino-luokkaa Javassa.
Menetelmät | Kuvaus |
tyhjä() | Tarkistaa, onko pino tyhjä |
työntää() | Työnnä esine pinon yläosaan |
pop () | Poista esine pinosta |
kurkistaa() | Katselee pinon kohdetta poistamatta sitä |
Hae() miten tehdä valtaa java | Hakee pinon kohdetta hakemiston saamiseksi |
Ymmärretään jokainen näistä menetelmistä ohjelmallisella esimerkillä:
package Edureka import java.io. * import java.util. * public class StackMethods {// lisää tai työnnä elementtiä pinon päälle staattinen void push_method (Stack st, int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Nykyinen pino:' + st)} // Näyttöelementti pinon päällä Staattinen void peek_method (Stack & ampampampltInteger & ampampampgt st) { Kokonaisluku = (Kokonaisluku) st.peek () System.out.println ('Elementti pinon yläosassa:' + elementti)} // Hakee elementtiä pinosta staattinen void search_method (Stack st, int element) {Integer pos = ( Kokonaisluku) st.search (elementti) if (pos == -1) System.out.println ('Elementtiä ei löydy') else System.out.println ('Elementti löytyy sijainnista' + pos)} // Poistaa elementin pinon yläosasta staattinen tyhjä pop_method (pino) {System.out.print ('pop =') Kokonaisluku n = (Kokonaisluku) st.pop () System.out.println (n) System.out.println ( 'Jäljellä oleva pino:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Tyhjä pino:' + 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) kokeile {pop_method (st)} catch (EmptyStackException e) {System.out.println ('tyhjä pino')}}}
Tuotos:
Tyhjä pino: []
työnnä (4)
Nykyinen pino: [4]
työnnä (8)
Nykyinen pino: [4, 8]
työnnä (9)
Nykyinen pino: [4, 8, 9]
Pinoamisen yläosa: 9
Elementtiä ei löydy
Elementti löytyy asemasta 3
pop = 9
Jäljellä oleva pino: [4, 8]
pop = 8
Jäljellä oleva pino: [4]
pop = 4
Jäljellä oleva pino: []
pop = tyhjä pino
Selitys: Yllä , Olen ensin tulostanut tyhjän pinon ja lisännyt muutaman elementin Push-menetelmällä. Kun elementit ovat läsnä pinossa, olen esittänyt elementit pinon päällä Peek-menetelmällä. Sen jälkeen olen suorittanut haun hakumenetelmällä ja poistanut lopuksi Java-pino-luokan elementit Pop-menetelmällä.
Jatkamme Java Stack Classin kanssa, katsotaanpa erilaisia toimintoja, jotka voit suorittaa, kun toteutat pino luokan Java.
Java-pino-toiminnot:
Pinon koko:
paketti Edureka tuo java.util.EmptyStackException Tuo java.util.Stack julkinen luokka StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Tarkista, onko pino tyhjä System.out.println (' Onko Java-pino tyhjä? '+ stack.isEmpty ()) // Etsi Stack System.out -koko. println ('Pinon koko:' + pino.koko ())}}
Tuotos: Onko Java-pino tyhjä? väärä
Pinon koko: 3
Java-pinon iteraattiset elementit:
- Toista pino iteraattorin avulla ()
- Toista pinon yli Java 8 forEachilla ()
- Toista pino käyttämällä listIterator () -sovellusta ylhäältä alas
Aloitetaan iteroida elementit käyttämällä iteraattoria ().
paketti 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)} }}
Tuotos:
yksi
2
3
Vastaavasti voit suorittaa iteroinnin muilla menetelmillä. Katso lisätietoja alla olevasta koodista:
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. työnnä ('1') pino.push ('2') pino.push ('3') System.out.println ('Iteroi pino käyttäen forEach () Method:') -pinoa forfor ((n -> {Järjestelmä out.println (n)}) ListIterator ListIterator = pino.listIterator (pino.koko ()) System.out.println ('Toista pino käyttäen listIteratoria () ylhäältä alas:') kun taas (ListIterator.hasPrevious () ) {Merkkijono str = ListIterator.previous () System.out.println (str)}}}
Tuotos: Iteroi pino forEach () -menetelmällä:
yksi
2
3
Toista pino käyttäen listIteratoria () ylhäältä alas:
3
2
yksi
Selitys: Yllä olevassa koodissa näet iteroinnin käyttäen forEach () -menetelmää ja käännä sama samalla listIterator () -toiminnon avulla pinon ylhäältä alas.
Tämä on ”Stack Class in Java” -blogin loppu. Toivottavasti teillä on selkeä Java-kokoelmakehys, sen hierarkia yhdessä Java Stack -luokan esimerkkikoodien kanssa. Lue seuraava bloginipäällä missä olen luetellut 75 parasta haastattelukysymystä ja vastausta, jotka auttavat sinua erottumaan haastatteluprosessissa.
Nyt kun olet ymmärtänyt Java-kokoelmat, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssi on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia Java-kehyksiä, kuten Hibernate & Spring.
Onko sinulla kysymys meille? Mainitse se tämän 'Stack class in Java' -blogin kommenttiosassa, niin otamme sinuun yhteyttä mahdollisimman pian.