Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Classe de pile Java

Classe de pile Java

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 la fonctionnalité de la structure de données de la pile.

Le Stack la classe étend le Vector classe.

Implémentation de la pile

Dans la pile, les éléments sont stockés et accessibles dans Last In First Out manière. Autrement dit, les éléments sont ajoutés en haut de la pile et supprimés du haut de la pile.

Créer une pile

Afin de créer une pile, nous devons importer le java.util.Stack paquet d'abord. Une fois le package importé, voici comment créer une pile en Java.

Stack<Type> stacks = new Stack<>();

Ici, Type indique le type de pile. Par exemple,

// Create Integer type stack
Stack<Integer> stacks = new Stack<>();

// Create String type stack
Stack<String> stacks = new Stack<>();

Méthodes de pile

Depuis Stack étend le Vector classe, elle hérite de toutes les méthodes Vector . Pour en savoir plus sur les différents Vector méthodes, visitez Java Vector Class.

Outre ces méthodes, le Stack la classe comprend 5 méthodes supplémentaires qui la distinguent de Vector .

Méthode push()

Pour ajouter un élément en haut de la pile, nous utilisons le push() méthode. 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);
    }
}

Sortie

Stack: [Dog, Horse, Cat]

Méthode pop()

Pour supprimer un élément du haut de la pile, on utilise le pop() méthode. 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("Initial Stack: " + animals);

        // Remove element stacks
        String element = animals.pop();
        System.out.println("Removed Element: " + element);
    }
}

Sortie

Initial Stack: [Dog, Horse, Cat]
Removed Element: Cat

Méthode peek()

Le peek() La méthode renvoie un objet du haut 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);

        // Access element from the top
        String element = animals.peek();
        System.out.println("Element at top: " + element);

    }
}

Sortie

Stack: [Dog, Horse, Cat]
Element at top: Cat

Pour rechercher un élément dans la pile, on utilise le 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<String> 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);
    }
}

Sortie

Stack: [Dog, Horse, Cat]
Position of Horse: 2

Méthode vide()

Pour vérifier si une pile est vide ou non, on utilise le empty() méthode. 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 stack is empty
        boolean result = animals.empty();
        System.out.println("Is the stack empty? " + result);
    }
}

Sortie

Stack: [Dog, Horse, Cat]
Is the stack empty? false

Utiliser ArrayDeque au lieu de Stack

Le Stack La classe fournit l'implémentation directe de la structure de données de la pile. Cependant, il est recommandé de ne pas l'utiliser. Utilisez plutôt le ArrayDeque classe (implémente le 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 plutôt que Stack ?

Java

  1. Mot-clé Java final
  2. Opérateur instanceof Java
  3. Classe statique imbriquée Java
  4. Classe anonyme Java
  5. Classe Java Singleton
  6. Réflexion Java
  7. Classe Java ObjectOutputStream
  8. Génériques Java
  9. Classe de fichier Java