Ce este Stack Class în Java și cum se folosește?



Clasa de stivă în Java este o parte a cadrului de colecție care simplifică operațiuni precum push, pop etc. Acest articol se concentrează pe clasa de stive cu exemple.

Structurile de date au fost un avantaj pentru lumea programării, deoarece simplifică în mare măsură programarea. Clasa Stack în Java face parte din care simplifică diverse operațiuni precum push, pop etc. În acest articol explorăm în detaliu acest concept. Următoarele indicații vor fi explorate în acest articol:

Să începem.





care sunt componentele platformei java?

Ce este o clasă Stack în Java?

Un teanc este un structură de date care urmează LIFO (Last In First Out). Java Stack Class se încadrează în cadrul de bază Ierarhia colecției, în care puteți efectua operațiuni de bază, cum ar fi push, pop etc. Știm căCadrul de colectare Java include interfețe și clase . Acum, să vedem clar cum este aranjată clasa de stivă în Java în ierarhia cadrului de colecții Java.

Ierarhie - Clasa Stack în Java - Edureka



În ierarhia de mai sus, se referă caseta albastrădiferitele interfețe și caseta galbenă definesc clasa. O stivă în Java extinde clasa de vector care implementează în continuare Lista interfeței . Ori de câte ori creați o stivă, inițial nu conține niciun element, adică stiva este goală.

Mergând mai departe, să vedem diferitele metode ale clasei Java Stack.

Metode de clasă Stack în Java

În Java, există în principal 5 metode ale clasei Stack.Următoarele sunt metodele care sunt la dispoziția noastră atunci când folosim clasa stack în Java.



Metode Descriere

gol()

Verifică dacă stiva este goală

Apăsați()

Împingeți un obiect în partea de sus a teancului

pop ()

Scoateți obiectul din stivă

arunca o privire()

Se uită la obiectul unei stive fără a o scoate

căutare()

Căutați elementul din stivă pentru a obține indexul

Să înțelegem fiecare dintre aceste metode cu un exemplu programatic:

pachet Edureka import java.io. * import java.util. * public class StackMethods {// add or push element on the top of the 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)} // Afișează elementul din partea superioară a stivei gol static peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Caută elementul din stack static gol căutare_metodă (Stack st, element int) {Integer pos = ( Integer) st.search (element) if (pos == -1) System.out.println ('Elementul nu a fost găsit') else System.out.println ('Elementul se găsește în poziția' + pos)} // Elimină elementul din partea de sus a stivei static static pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Stack restant:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Stack gol:' + 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) try {pop_method (st)} catch (EmptyStackException e) {System.out.println ('stiva goală')}}}

Ieșire:

Stiva goală: []
împinge (4)
Stiva curentă: [4]
împinge (8)
Stiva curentă: [4, 8]
împinge (9)
Stiva curentă: [4, 8, 9]
Element pe partea superioară a stivei: 9
Elementul nu a fost găsit
Elementul se găsește în poziția 3
pop = 9
Stiva rămasă: [4, 8]
pop = 8
Stiva rămasă: [4]
pop = 4
Stivă rămasă: []
pop = stiva goală

Explicaţie: În cele de mai sus , Am imprimat mai întâi o stivă goală și am adăugat câteva elemente folosind metoda Push. Odată ce elementele sunt prezente în stivă, am afișat elementele în partea de sus a stivei folosind metoda Peek. După aceea, am efectuat căutări folosind metoda Căutare și în cele din urmă am eliminat elementele din clasa Java Stack folosind metoda Pop.

Continuând cu Java Stack Class, să aruncăm o privire asupra diferitelor operațiuni pe care le puteți efectua în timp ce implementați clasa stack în Java.

Operațiuni Java Stack:

Dimensiunea stivei:

pachet 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 ') // Verificați dacă Stack-ul este gol System.out.println (' Java Stack este gol? '+ stack.isEmpty ()) // Găsiți dimensiunea Stack System.out. println ('Dimensiunea stivei:' + stack.size ())}}

Ieșire: Java Stack este gol? fals
Dimensiunea stivei: 3

Iterează elementele unei stive Java:

  • Iterează peste o stivă folosind iteratorul ()
  • Iterează peste o stivă folosind Java 8 forEach ()
  • Iterează peste o stivă folosind listIterator () de sus în jos

Să începem să iterăm elemente folosind iterator ().

pachet 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 ()) {Value object = iterator.next () System.out.println (value)} }}

Ieșire:

unu
2
3

În mod similar, puteți efectua iterația prin alte metode. Consultați codul de mai jos pentru mai multe înțelegeri:

pachet 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 ('Iterează o stivă folosind forEach () Method:') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('Iterează peste o stivă folosind listIterator () de sus în jos:') în timp ce (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Ieșire: Iterează o stivă folosind metoda forEach ():
unu
2
3
Iterează peste o stivă utilizând listIterator () de sus în jos:
3
2
unu

Explicaţie: În codul de mai sus, puteți vedea iterația folosind metoda forEach () și apoi inversați același lucru folosind listIterator () de sus în jos al stivei.

Acesta este sfârșitul blogului „Stack Class in Java”. Sper că voi sunteți clari cu cadrul colecțiilor Java, este o ierarhie împreună cu codurile de exemplu ale clasei Java Stack. Citiți următorul meu blogpe unde am enumerat cele mai importante 75 de întrebări și răspunsuri la interviu care vă vor ajuta să vă distingeți în procesul de interviu.

Acum că ați înțeles colecțiile Java, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring

program pentru a inversa un număr în java

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „Stack class in Java” și vă vom contacta cât mai curând posibil.