Kas yra „Stack“ klasė „Java“ ir kaip ją naudoti?



„Stack“ klasė „Java“ yra kolekcijos sistemos dalis, supaprastinanti tokias operacijas kaip „push“, „pop“ ir pan. Šiame straipsnyje daugiausia dėmesio skiriama kamino klasei su pavyzdžiais.

Duomenų struktūros buvo naudinga programavimo pasauliui, nes jos labai supaprastina programavimą. „Stack“ klasė „Java“ yra tai supaprastina įvairias operacijas, tokias kaip „push“, „pop“ ir pan. Šiame straipsnyje mes išsamiai išnagrinėjame šią koncepciją. Šiame straipsnyje bus nagrinėjami šie patarimai:

kada naudoti šią java

Pradėkime.





Kas yra „Stack“ klasė „Java“?

Šūsnis yra duomenų struktūra kuris seka LIFO (Last In First Out). „Java Stack“ klasė priklauso pagrindinei kolekcijos hierarchijos sistemai, kurioje galite atlikti pagrindines operacijas, pvz., „Push“, „pop“ ir kt. Mes žinome, kadJava kolekcijos sistema apima sąsajos ir klasės . Dabar turėkime aiškų vaizdą, kaip „Java“ kamino klasė yra išdėstyta „Java“ kolekcijų sistemos hierarchijoje.

Hierarchija - „Stack“ klasė „Java“ - „Edureka“



Aukščiau pateiktoje hierarchijoje mėlynas langelis nurodoskirtingos sąsajos ir geltonas langelis apibrėžia klasę. „Java“ kaminas išplečia vektorių klasę, kuri toliau įgyvendinama Sąrašo sąsaja . Kiekvieną kartą, kai sukuriate „Stack“, iš pradžių jame nėra jokio elemento, t. Y. „Stack“ yra tuščias.

Pažvelkime į priekį, pažiūrėkime apie skirtingus „Java Stack Class“ metodus.

„Java“ kamino klasės metodai

„Java“ yra daugiausia 5 „Stack Class“ metodai.Toliau pateikiami metodai, kurie yra mūsų žinioje, kai „Java“ naudojame „stack“ klasę.



Metodai apibūdinimas

tuščia()

Tikrina, ar kaminas tuščias

stumti ()

Užmaukite daiktą į kamino viršų

pop ()

Išimkite objektą iš kamino

žvilgtelėti ()

Pažvelgia į kamino objektą, jo neišimdamas

Paieška()

Ieško elemento rietuvėje, kad gautų jo indeksą

Supraskime kiekvieną iš šių metodų pateikdami programinį pavyzdį:

paketas „Edureka“ importuokite java.io. * importuokite java.util. * viešosios klasės „StackMethods“ {// pridėkite arba stumkite elementą kamino viršuje. ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)}} // Rodyti elementą kamino viršuje statinis void peek_method (Stack & ampampampltInteger & ampampampgt st) { Sveikasis skaičius = (Sveikasis skaičius) st.peek () System.out.println ('Elementas rietuvės viršuje:' + elementas)} // Ieško elemento rietuvėje statinis void search_method (Stack st, int element) {Sveikasis skaičius = Sveikas skaičius) st.search (elementas) if (pos == -1) System.out.println ('Element not found') else System.out.println ('Elementas randamas pozicijoje' + pos)} // Pašalina elementą nuo kamino viršaus statinis negaliojantis pop_method (Stack st) {System.out.print ('pop =') Sveikasis skaičius n = (Sveikasis skaičius) st.pop () System.out.println (n) System.out.println ( 'Likęs kaminas:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Tuščias kaminas:' + 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) pabandykite {pop_method (st)} sugauti (EmptyStackException e) {System.out.println ('tuščias kaminas')}}}

Išvestis:

Tuščias kaminas: []
stumti (4)
Dabartinis krūva: [4]
stumti (8)
Dabartinis krūva: [4, 8]
stumti (9)
Dabartinis krūva: [4, 8, 9]
Elementas ant kamino viršaus: 9
Elementas nerastas
Elementas randamas 3 pozicijoje
pop = 9
Likęs kaminas: [4, 8]
pop = 8
Likęs kaminas: [4]
pop = 4
Likęs kaminas: []
pop = tuščias kaminas

Paaiškinimas: Pirmiau , Pirmiausia išspausdinau tuščią kaminą ir pridėjau kelis elementus naudodamas „Push“ metodą. Kai elementai yra rietuvėje, aš rodžiau elementus rietuvės viršuje, naudodamas „Peek“ metodą. Po to atlikau paiešką naudodamas paieškos metodą ir galiausiai pašalinau „Java Stack“ klasės elementus, naudodamas „Pop“ metodą.

Žengdami į priekį naudodami „Java Stack Class“, pažvelkime į įvairias operacijas, kurias galite atlikti diegdami „stack“ klasę „Java“.

„Java“ kamino operacijos:

Šūsnies dydis:

paketas „Edureka“ importuoja java.util.EmptyStackException importuoti java.util.Stack viešosios klasės „StackOperations“ {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // Patikrinkite, ar „Stack“ yra tuščias. println ('Krūvos dydis:' + stack.size ())}}

Išvestis: Ar „Java Stack“ tuščias? melagingas
Krūvos dydis: 3

„Java Stack“ kartojami elementai:

  • Kartoti per kaminą naudojant iteratorių ()
  • Kartoti per „Stack“ naudojant „Java 8 forEach“ ()
  • Kartokite per „Stack“ naudodami „listIterator“ () iš viršaus į apačią

Pradėkime kartoti elementus naudodami iteratorių ().

paketas „Edureka“ importas java.util.EmptyStackException importuoti java.util.Iterator importuoti java.util.Stack viešosios klasės „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)} }}

Išvestis:

vienas
2
3

Panašiai galite atlikti iteraciją kitais metodais. Norėdami sužinoti daugiau, perskaitykite žemiau pateiktą kodą:

paketo demonstracinis importas java.util.EmptyStackException importuoti java.util.Iterator importuoti java.util.ListIterator importuoti java.util.Stack viešosios klasės JavaOperators {public static void main (String [] argumentai) {Stack stack = new Stack () stack. stumti ('1') stack.push ('2') stack.push ('3') System.out.println ('Kartokite kaminą naudodami forEach () Method:') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterate over Stack using listIterator () from top to bottom:') while (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Išvestis: Kartokite kaminą naudodami „forEach“ () metodą:
vienas
2
3
Kartokite per kaminą naudodami „listIterator“ () iš viršaus į apačią:
3
2
vienas

Paaiškinimas: Pirmiau pateiktame kode galite pamatyti iteraciją naudodami „forEach“ () metodą ir tada pakeisti tą patį naudodami „listIterator“ () iš rietuvės viršaus į apačią.

Tai yra tinklaraščio „Stack Class in Java“ pabaiga. Tikiuosi, kad jums, aišku, yra „Java“ kolekcijų sistema, tai hierarchija kartu su „Java Stack“ klasės pavyzdžių kodais. Ar skaityti mano kitą dienoraštįant kur išvardijau 75 geriausius interviu klausimus ir atsakymus, kurie padės išsiskirti interviu procese.

Dabar, kai supratote „Java“ kolekcijas, patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žvalgytis į „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio „Stack class in Java“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.