Dans ce didacticiel, nous allons découvrir la classe Java Stack et ses méthodes à l'aide d'exemples.
Le framework de collections Java a une classe nommée Stack
qui fournit les fonctionnalités de la structure de données de la pile.
La Stack
classe étend la Vector
classe.
Implémentation de la pile
Dans la pile, les éléments sont stockés et accédés de manière Last In First Out . Autrement dit, les éléments sont ajoutés au sommet de la pile et supprimés du haut de la pile.
Créer une pile
Afin de créer une pile, nous devons d'abord importer le java.util.Stack
package. Une fois le package importé, voici comment créer une pile en Java.
Stack stacks = new Stack();
Ici, Type
indique le type de pile. Par exemple,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Méthodes d'empilement
Depuis Stack
étend la Vector
classe, il hérite de toutes les méthodes Vector
. Pour en savoir plus sur les différentes Vector
méthodes, visitez Java Vector Class.
Outre ces méthodes, la Stack
classe comprend 5 autres méthodes qui la distinguent de Vector
.
push (), méthode
Pour ajouter un élément en haut de la pile, nous utilisons la push()
méthode. Par exemple,
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); ) )
Production
Pile: (chien, cheval, chat)
méthode pop ()
Pour supprimer un élément du haut de la pile, nous utilisons la pop()
méthode. Par exemple,
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); ) )
Production
Pile initiale: (chien, cheval, chat) Élément supprimé: chat
peek (), méthode
La peek()
méthode retourne un objet du haut de la pile. Par exemple,
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); ) )
Production
Pile: (Chien, Cheval, Chat) Élément en haut: Chat
search (), méthode
Pour rechercher un élément dans la pile, nous utilisons la search()
méthode. Il renvoie la position de l'élément à partir du haut de la pile. Par exemple,
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); ) )
Production
Stack: (Chien, Cheval, Chat) Position du cheval: 2
empty (), méthode
Pour vérifier si une pile est vide ou non, nous utilisons la empty()
méthode. Par exemple,
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); ) )
Production
Pile: (Chien, Cheval, Chat) La pile est-elle vide? faux
Utilisez ArrayDeque au lieu de Stack
La Stack
classe fournit l'implémentation directe de la structure de données de la pile. Cependant, il est recommandé de ne pas l'utiliser. À la place, utilisez la ArrayDeque
classe (implémente l' Deque
interface) pour implémenter la structure de données de la pile en Java.
Pour en savoir plus, visitez:
- Java ArrayDeque
- Pourquoi utiliser Deque sur Stack?