English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java Tableau

Java Programmation Orientée Objet (I)

Java Programmation Orientée Objet (II)

Java Programmation Orientée Objet (III)

Gestion des exceptions Java

Java Liste (List)

Java Queue (file d'attente)

Java Map Collection

Java Set Collection

Java Entrée/Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Piles (Stack) Java

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.

implémentation de la pile

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.

Créer une 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<>();

Méthodes de pile

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.

Méthode push()

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]

Méthode pop()

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

Méthode peek()

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

Méthode empty()

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

Use ArrayDeque instead of Stack

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