English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons apprendre la classe Stack de Java et ses méthodes à l'aide d'exemples.
Le cadre de collections Java possède une classe nommée Stack, qui fournit les fonctionnalités de la structure de données pile.
La classe Stack de Java hérite de la classe Vector.
Dans la pile, les éléments sontdernier entré, premier sortifaçon de stocker et d'accéder aux données. Autrement dit, les éléments sont ajoutés au sommet de la pile et supprimés du sommet de la pile.
Pour créer une pile, nous devons d'abord importer le paquet java.util.Stack. Une fois le paquet importé, nous pouvons utiliser Java pour créer une pile.
Stack<Type> stacks = new Stack<>();
Ici, Type indique le type de la pile. Par exemple,
//Création d'une pile de type entier Stack<Integer> stacks = new Stack<>(); //Création d'une pile de type chaîne de caractères Stack<String> stacks = new Stack<>();
Comme Stack hérite de la classe Vector, elle hérite de toutes les méthodes de Vector. Pour en savoir plus sur les méthodes Vector différentes, veuillez consulterClasse Vector Java.
En plus de ces méthodes, la classe Stack inclut5D'autres méthodes distinctes de Vector.
Pour ajouter un élément au sommet de la pile, nous utilisons la méthode push(). Par exemple,
import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); //Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); } }
Output result
Stack: [Dog, Horse, Cat]
Pour supprimer un élément du sommet de la pile, nous utilisons la méthode pop(). Par exemple,
import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); //Ajouter un élément à la Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Pile initiale : "); + animals); //Suppression d'élément de la pile, principe du dernier entré, premier sorti String element = animals.pop(); System.out.println("Suppression de l'élément : "); + element); } }
Output result
Pile initiale : [Dog, Horse, Cat] Suppression de l'élément : Cat
La méthode peek() renvoie un objet du sommet de la pile. Par exemple,
import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); //Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); //Accès à l'élément depuis le sommet, principe du dernier entré, premier sorti String element = animals.peek(); System.out.println("Élément en haut : "); + element); } }
Output result
Stack: [Dog, Horse, Cat] Élément en haut : Cat
Pour rechercher un élément dans la pile, nous utilisons la méthode search(). Elle renvoie la position de l'élément à partir du sommet de la pile. Par exemple,
import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); //Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); //Recherche d'élément int position = animals.search("Horse"); System.out.println("La position de l'élément Horse : "); + position); } }
Output result
Stack: [Dog, Horse, Cat] La position de l'élément Horse : 2
Pour vérifier si la pile est vide, nous utilisons la méthode empty(). Par exemple,
import java.util.Stack; class Main { public static void main(String[] args) { Stack<String> animals = new Stack<>(); //Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); //Check if the stack is empty boolean result = animals.empty(); System.out.println("Is the stack empty? " + result); } }
Output result
Stack: [Dog, Horse, Cat] Is the stack empty? false
This Stack class provides a direct implementation of the stack data structure. However, it is recommended not to use it. Instead, use the ArrayDeque class (which implements the Deque interface) to implement the stack data structure in Java.
For more information, please visit:ArrayDeque Java