Stack | Java
Le framework Collection fournit la classe Stack qui modélise et implémente la structure de données Pile. La classe est basée sur le principe du « dernier entré, premier sorti ». En plus des opérations de base comme push et pop, la classe propose trois autres fonctions empty, search et peek.
La classe Stack prend en charge un constructeur par défaut Stack() qui est utilisé pour créer une pile vide.
Les méthodes de la classe Stack
public Object push(Object o) | Ajoute un élément en haut de la pile. |
public Object pop() | Supprime et renvoie l’élément supérieur de la pile. Une exception ‘EmptyStackException’ est levée si nous appelons pop() lorsque la pile est vide. |
public Object peek() | Renvoie l’élément en haut de la pile, mais ne le supprime pas. |
public boolean empty() | Il retourne TRUE si rien n’est en haut de la pile. Sinon, renvoie FALSE. |
public int search(Object o) | Il détermine si un objet existe dans la pile. Si l’élément est trouvé, il renvoie la position de l’élément à partir du haut de la pile. Sinon, il renvoie -1. |
Exemple:
import java.util.Stack; public class Main { public static void main(String[] args) { Stack<String> languages = new Stack<>(); // Ajouter des éléments à la pile languages.push("Java"); languages.push("PHP"); languages.push("Python"); System.out.println("Pile: " + languages); // Supprimer l'élément de la pile String e = languages.pop(); System.out.println("Élément supprimé: " + e); System.out.println("Pile: " + languages); // Accéder à l'élément depuis le haut String h = languages.peek(); System.out.println("Élément en haut: " + h); // Chercher un élément int index = languages.search("PHP"); System.out.println("Position de PHP: " + index); } }
Sortie:
Pile: [Java, PHP, Python] Élément supprimé: Python Pile: [Java, PHP] Élément en haut: PHP Position de PHP: 1