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
Méthode
Description
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
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *