Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


16.1.3

Stack


Die Klasse Stack repräsentiert einen Stapelspeicher. Beim Anlegen eines Stacks wird seine Größe mit null initialisiert:
  Stack MyStack = new Stack();
Man besitzt die Möglichkeit,

Folgendes Beispiel zur Klasse Stack liest eine beliebige Anzahl von Zeilen ein und gibt diese in umgekehrter Reihenfolge wieder aus:
  import java.util.Stack;
  import java.io.*;
  
  public class StackDemo {
  
    public static void main(String args[]) {
      BufferedReader stdin = new BufferedReader(
                     new InputStreamReader(System.in));
      PrintWriter stdout = new PrintWriter(System.out,true);
      Stack s = new Stack();    // Neuer Stack
      String text = "";
      // So lange Zeilen einlesen und dem Stack zufügen,
      // bis 'stop' eingegeben wird
      do {
        try {
          text = stdin.readLine();  // Zeile einlesen und
          s.push(text);        // auf dem Stack speichern
        }
        catch (IOException e) {
          stdout.println("Error: "+e);
        }
      } while(! (text.equals("stop")));
      // Alle Zeilen vom Stack entfernen und ausgeben
      while (! s.empty())
        stdout.println(s.pop());
     }
  }
Nachdem eine Zeile eingegeben wurde, wird sie oben auf den Stack gepackt:
  s.push(text);        // auf dem Stack speichern
Dieser Vorgang wird so lange wiederholt, bis eine Eingabe nur das Wort »stop« enthält. Danach werden alle Elemente vom Stack entfernt und auf der Standardausgabe ausgegeben.
  // Alle Zeilen vom Stack entfernen und ausgeben
  while (! s.empty())
    stdout.println(s.pop());


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.