Java - La classe Stack

Stack est une sous-classe de Vector qui implémente une pile standard dernier entré, premier sorti.

Stack définit uniquement le constructeur par défaut, qui crée une pile vide. Stack inclut toutes les méthodes définies par Vector et en ajoute plusieurs.

Stack( )

Outre les méthodes héritées de sa classe parent Vector, Stack définit les méthodes suivantes -

N ° Sr. Méthode et description
1

boolean empty()

Teste si cette pile est vide. Renvoie true si la pile est vide et renvoie false si la pile contient des éléments.

2

Object peek( )

Renvoie l'élément en haut de la pile, mais ne le supprime pas.

3

Object pop( )

Renvoie l'élément en haut de la pile, en le supprimant au cours du processus.

4

Object push(Object element)

Pousse l'élément sur la pile. L'élément est également renvoyé.

5

int search(Object element)

Recherche un élément dans la pile. S'il est trouvé, son décalage par rapport au haut de la pile est renvoyé. Sinon, -1 est renvoyé.

Exemple

Le programme suivant illustre plusieurs des méthodes prises en charge par cette collection -

import java.util.*;
public class StackDemo {

   static void showpush(Stack st, int a) {
      st.push(new Integer(a));
      System.out.println("push(" + a + ")");
      System.out.println("stack: " + st);
   }

   static void showpop(Stack st) {
      System.out.print("pop -> ");
      Integer a = (Integer) st.pop();
      System.out.println(a);
      System.out.println("stack: " + st);
   }

   public static void main(String args[]) {
      Stack st = new Stack();
      System.out.println("stack: " + st);
      showpush(st, 42);
      showpush(st, 66);
      showpush(st, 99);
      showpop(st);
      showpop(st);
      showpop(st);
      try {
         showpop(st);
      } catch (EmptyStackException e) {
         System.out.println("empty stack");
      }
   }
}

Cela produira le résultat suivant -

Production

stack: [ ]
push(42)
stack: [42]
push(66)
stack: [42, 66]
push(99)
stack: [42, 66, 99]
pop -> 99
stack: [42, 66]
pop -> 66
stack: [42]
pop -> 42
stack: [ ]
pop -> empty stack