Java Stack Class

In questo tutorial, impareremo a conoscere la classe Java Stack e i suoi metodi con l'aiuto di esempi.

Il framework delle collezioni Java ha una classe denominata Stackche fornisce la funzionalità della struttura dati dello stack.

La Stackclasse estende la Vectorclasse.

Implementazione dello stack

Nello stack, gli elementi vengono memorizzati e accessibili in modo Last In First Out . Ovvero, gli elementi vengono aggiunti in cima alla pila e rimossi dalla cima della pila.

Creazione di uno stack

Per creare uno stack, dobbiamo java.util.Stackprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare uno stack in Java.

 Stack stacks = new Stack(); 

Qui, Typeindica il tipo di pila. Per esempio,

 // Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack(); 

Metodi di stack

Poiché Stackestende la Vectorclasse, eredita tutti i metodi Vector. Per conoscere i diversi Vectormetodi, visita Java Vector Class.

Oltre a questi metodi, la Stackclasse include altri 5 metodi che la distinguono da Vector.

metodo push ()

Per aggiungere un elemento in cima alla pila, usiamo il push()metodo. Per esempio,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); ) ) 

Produzione

 Stack: (cane, cavallo, gatto) 

metodo pop ()

Per rimuovere un elemento dalla cima della pila, usiamo il pop()metodo. Per esempio,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Initial Stack: " + animals); // Remove element stacks String element = animals.pop(); System.out.println("Removed Element: " + element); ) ) 

Produzione

 Stack iniziale: (cane, cavallo, gatto) Elemento rimosso: gatto 

metodo peek ()

Il peek()metodo restituisce un oggetto dalla parte superiore dello stack. Per esempio,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Access element from the top String element = animals.peek(); System.out.println("Element at top: " + element); ) ) 

Produzione

 Stack: (Cane, Cavallo, Gatto) Elemento in alto: Cat 

metodo search ()

Per cercare un elemento nello stack, usiamo il search()metodo. Restituisce la posizione dell'elemento dalla parte superiore della pila. Per esempio,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Search an element int position = animals.search("Horse"); System.out.println("Position of Horse: " + position); ) ) 

Produzione

 Stack: (cane, cavallo, gatto) Posizione del cavallo: 2 

metodo empty ()

Per verificare se uno stack è vuoto o meno, utilizziamo il empty()metodo. Per esempio,

 import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // Check if stack is empty boolean result = animals.empty(); System.out.println("Is the stack empty? " + result); ) ) 

Produzione

Pila: (cane, cavallo, gatto) La pila è vuota? falso

Usa ArrayDeque invece di Stack

La Stackclasse fornisce l'implementazione diretta della struttura dati dello stack. Tuttavia, si consiglia di non utilizzarlo. Utilizzare invece la ArrayDequeclasse (implementa l' Dequeinterfaccia) per implementare la struttura dati dello stack in Java.

Per saperne di più, visita:

  • Java ArrayDeque
  • Perché usare Deque su Stack?

Articoli interessanti...