Cos'è Stack Class in Java e come usarlo?



La classe Stack in Java è una parte del framework Collection che semplifica operazioni come push, pop, ecc. Questo articolo si concentra sulla classe stack con esempi.

Le strutture dati sono state un vantaggio per il mondo della programmazione in quanto semplificano la programmazione in larga misura. La classe Stack in Java fa parte di che semplifica varie operazioni come push, pop, ecc. In questo articolo esploriamo questo concetto in dettaglio. In questo articolo verranno esaminati i seguenti suggerimenti:

Iniziamo.





Cos'è una classe Stack in Java?

Uno stack è un file struttura dati che segue LIFO (Last In First Out). Java Stack Class rientra nel framework gerarchico di raccolta di base in cui è possibile eseguire le operazioni di base come push, pop, ecc. Sappiamo cheIl framework di raccolta Java include interfacce e classi . Ora, diamo una visione chiara di come la classe stack in Java è organizzata nella gerarchia del framework delle raccolte Java.

Gerarchia - Classe Stack in Java - Edureka



Nella gerarchia di cui sopra, il riquadro blu si riferisce ale diverse interfacce e il riquadro giallo definiscono la classe. Uno stack in Java estende la classe vettoriale che implementa ulteriormente Interfaccia elenco . Ogni volta che crei una pila, inizialmente non contiene alcun elemento, ovvero la pila è vuota.

Andando avanti, vediamo i diversi metodi di Java Stack Class.

Metodi di Stack Class in Java

In Java, ci sono principalmente 5 metodi di Stack Class.Di seguito sono riportati i metodi a nostra disposizione quando utilizziamo la classe stack in Java.



differenza tra classe e interfaccia in java

Metodi Descrizione

vuoto()

Controlla se la pila è vuota

spingere()

Metti un oggetto in cima alla pila

pop ()

Rimuovi l'oggetto dalla pila

sbirciare()

Guarda l'oggetto di una pila senza rimuoverlo

ricerca()

Cerca l'elemento nello stack per ottenere il suo indice

Comprendiamo ciascuno di questi metodi con un esempio programmatico:

package Edureka import java.io. * import java.util. * public class StackMethods {// aggiunge o spinge l'elemento in cima allo 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)} // Visualizza l'elemento in cima allo stack static void peek_method (Stack & ampampampltInteger & ampampampgt st) { Integer element = (Integer) st.peek () System.out.println ('Element on stack top:' + element)} // Cerca l'elemento nello stack static void search_method (Stack st, int element) {Integer pos = ( Intero) st.search (element) if (pos == -1) System.out.println ('Element not found') else System.out.println ('Element is found at position' + pos)} // Rimuove l'elemento dalla cima dello stack static void pop_method (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Stack rimanente:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('Stack vuoto:' + 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 ('empty stack')}}}

Produzione:

Stack vuoto: []
spingere (4)
Stack corrente: [4]
spingere (8)
Stack corrente: [4, 8]
spingere (9)
Stack corrente: [4, 8, 9]
Elemento in cima alla pila: 9
Elemento non trovato
L'elemento si trova nella posizione 3
pop = 9
Stack rimanente: [4, 8]
pop = 8
Stack rimanente: [4]
pop = 4
Stack rimanente: []
pop = stack vuoto

Spiegazione: In quanto sopra , Ho prima stampato una pila vuota e aggiunto alcuni elementi utilizzando il metodo Push. Una volta che gli elementi sono presenti nello stack, ho visualizzato gli elementi in cima allo stack utilizzando il metodo Peek. Successivamente, ho eseguito la ricerca utilizzando il metodo di ricerca e alla fine ho rimosso gli elementi nella classe Java Stack utilizzando il metodo Pop.

Andando avanti con Java Stack Class, diamo un'occhiata alle varie operazioni che puoi eseguire durante l'implementazione della classe stack in Java.

Operazioni stack Java:

Dimensione della pila:

pacchetto 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 ') // Controlla se lo Stack è vuoto System.out.println (' Is the Java Stack empty? '+ stack.isEmpty ()) // Trova la dimensione di Stack System.out. println ('Size of Stack:' + stack.size ())}}

Produzione: Lo stack Java è vuoto? falso
Dimensioni della pila: 3

Iterare gli elementi di uno stack Java:

  • Itera su uno Stack usando iterator ()
  • Itera su uno Stack usando Java 8 forEach ()
  • Itera su uno Stack usando listIterator () dall'alto verso il basso

Cominciamo a iterare gli elementi utilizzando iterator ().

pacchetto 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)} }}

Produzione:

uno
2
3

Allo stesso modo, puoi eseguire l'iterazione con altri metodi. Fare riferimento al codice seguente per una maggiore comprensione:

pacchetto demo import java.util.EmptyStackException import java.util.Iterator import java.util.ListIterator import java.util.Stack classe pubblica JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('Iterate uno stack utilizzando il metodo forEach ():') 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:') while (ListIterator.hasPrevious () ) {String str = ListIterator.previous () System.out.println (str)}}}

Produzione: Itera uno stack usando il metodo forEach ():
uno
2
3
Itera su uno Stack usando listIterator () dall'alto verso il basso:
3
2
uno

Spiegazione: Nel codice sopra, puoi vedere l'iterazione usando il metodo forEach () e quindi invertire lo stesso usando listIterator () dall'alto verso il basso dello stack.

Questa è la fine del blog 'Stack Class in Java'. Spero che siate chiari con il framework delle raccolte Java, è la gerarchia insieme ai codici di esempio della classe Java Stack. Leggi il mio prossimo blogsu dove ho elencato le 75 principali domande e risposte dell'intervista che ti aiuteranno a distinguerti nel processo di intervista.

Ora che hai compreso le raccolte Java, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo blog 'Stack class in Java' e ti risponderemo il prima possibile.