Ano ang Stack Class sa Java at kung paano ito magagamit?



Ang stack class sa Java ay isang bahagi ng framework ng Koleksyon na nagpapadali sa mga pagpapatakbo tulad ng push, pop, atbp. Ang artikulong ito ay nakatuon sa stack class na may mga halimbawa.

Ang Mga Istraktura ng Data ay naging isang biyaya sa mundo ng pagprograma habang pinapadali nila ang pag-program sa isang malaking lawak. Ang klase ng stack sa Java ay bahagi ng na pinapasimple ang iba`t ibang mga operasyon tulad ng push, pop, atbp. Sa artikulong ito tuklasin namin ang konsepto na ito. Ang mga sumusunod na payo ay susuriin sa artikulong ito:

Magsimula na tayo.





Ano ang isang Stack Class sa Java?

Ang isang stack ay a istraktura ng data na sumusunod sa LIFO (Last In First Out). Ang Java Stack Class ay nahuhulog sa ilalim ng pangunahing Framework ng Hierarchy ng Koleksyon kung saan maaari mong maisagawa ang mga pangunahing operasyon tulad ng push, pop, atbp. Alam namin naKasama sa balangkas ng koleksyon ng Java mga interface at mga klase . Ngayon, magkaroon tayo ng isang malinaw na pagtingin sa kung paano nakaayos ang klase ng stack sa Java sa hierarchy ng framework ng mga koleksyon ng Java.

Hierarchy - Stack Class sa Java - Edureka



Sa hierarchy sa itaas, tumutukoy ang asul na kahonang iba't ibang mga interface at ang dilaw na kahon ay tumutukoy sa klase. Ang isang stack sa Java ay nagpapalawak sa vector class na karagdagang nagpapatupad Listahan ng interface . Tuwing lumikha ka ng isang Stack, sa una hindi ito naglalaman ng anumang item, ibig sabihin, ang Stack ay walang laman.

Sa pagsulong, tingnan natin ang iba't ibang mga pamamaraan ng Java Stack Class.

kailan gagamitin ito sa java

Mga Paraan ng Stack Class sa Java

Sa Java, higit sa lahat mayroong 5 mga pamamaraan ng Stack Class.Ang mga sumusunod ay ang mga pamamaraan na magagamit namin kapag ginagamit namin ang stack class sa Java.



Paraan Paglalarawan

walang laman ()

Sinusuri kung ang stack ay walang laman

itulak ()

Ibagsak ang isang item sa tuktok ng stack

pop ()

Alisin ang bagay mula sa stack

silip()

Tumitingin sa object ng isang stack nang hindi inaalis ito

maghanap ()

Naghahanap ng item sa stack upang makuha ang index nito

Ipaunawa sa amin ang bawat isa sa mga pamamaraang ito sa isang halimbawa ng programmatic:

package Edureka import java.io. * import java.util. * pampublikong klase StackMethods {// idagdag o itulak ang elemento sa tuktok ng stack static void push_method (Stack st, int n) {st.push (bagong Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // Display element sa tuktok ng stack static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Naghahanap ng elemento sa stack static void search_method (Stack st, int element) {Integer pos = ( Integer) st.search (element) kung (pos == -1) System.out.println ('Hindi nahanap ang elemento') iba pa System.out.println ('Ang elemento ay matatagpuan sa posisyon' + pos)} // Tinatanggal ang elemento mula sa tuktok ng stack static void pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Natitirang stack:' + st)} pampublikong 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) subukan ang {pop_method (st)} catch (EmptyStackException e) {System.out.println ('walang laman na stack')}}}

Output:

Walang laman na stack: []
itulak (4)
Kasalukuyang Stack: [4]
itulak (8)
Kasalukuyang Stack: [4, 8]
itulak (9)
Kasalukuyang Stack: [4, 8, 9]
Elemento sa tuktok ng stack: 9
Hindi nahanap ang element
Ang elemento ay matatagpuan sa posisyon 3
pop = 9
Natitirang stack: [4, 8]
pop = 8
Natitirang stack: [4]
pop = 4
Natitirang stack: []
pop = walang laman na stack

Paliwanag: Sa itaas , Una kong nai-print ang isang walang laman na stack at nagdagdag ng ilang mga elemento gamit ang Push na pamamaraan. Kapag ang mga elemento ay naroroon sa stack, ipinakita ko ang mga elemento sa tuktok ng stack gamit ang Peek na pamamaraan. Pagkatapos nito, gumanap na ako sa paghahanap gamit ang paraan ng Paghahanap at sa wakas ay tinanggal ang mga elemento sa klase ng Java Stack gamit ang pamamaraang Pop.

Sumusulong sa Java Stack Class, tingnan natin ang iba't ibang mga pagpapatakbo na maaari mong gampanan habang ipinapatupad ang stack class sa Java.

pojo klase sa java na may halimbawa

Mga Pagpapatakbo ng Java Stack:

Laki ng stack:

package 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 ') // Suriin kung walang laman ang Stack System.out.println (' Walang laman ang Java Stack? '+ stack.isEmpty ()) // Hanapin ang laki ng Stack System.out. println ('Laki ng Stack:' + stack.size ())}}

Output: Walang laman ang Java Stack? hindi totoo
Laki ng Stack: 3

Iterate Elemen ng isang Java Stack:

  • Iterate sa isang Stack gamit ang iterator ()
  • Iterate sa isang Stack gamit ang Java 8 forEach ()
  • Iterate sa isang Stack gamit ang listIterator () mula sa Taas hanggang Ibaba

Magsimula tayong umulit ng mga elemento sa pamamagitan ng paggamit ng iterator ().

package 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 () habang (iterator.hasNext ()) {Value ng halaga = iterator.next () System.out.println (halaga)} }}

Output:

kung paano mag-compile ng java program

isa
2
3

Katulad nito, maaari mong isagawa ang pag-ulit sa pamamagitan ng iba pang mga pamamaraan. Sumangguni sa code sa ibaba para sa higit pang pag-unawa:

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 ('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:') habang (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Output: Iterate ang isang stack gamit ang forEach () na Paraan:
isa
2
3
Iterate sa isang Stack gamit ang listIterator () mula sa Taas hanggang Ibaba:
3
2
isa

Paliwanag: Sa code sa itaas, maaari mong makita ang pag-ulit gamit ang forEach () Pamamaraan at pagkatapos ay baligtarin ang parehong gamit ang listIterator () mula sa itaas hanggang sa ibaba ng stack.

Ito ang pagtatapos ng blog na 'Stack Class in Java'. Inaasahan kong malinaw kayo sa balangkas ng mga koleksyon ng Java, hierarchy ito kasama ang mga halimbawa ng code ng klase ng Java Stack. Basahin mo ang susunod kong blogsa kung saan ko nakalista ang nangungunang 75 mga katanungan at sagot sa pakikipanayam na makakatulong sa iyo na italaga sa proseso ng pakikipanayam.

Ngayon na naintindihan mo ang Mga Koleksyon ng Java, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'Stack class in Java' na blog at babalikan ka namin sa lalong madaling panahon.