- Autor

- Name
- Nelson Silva
- Social
Einführung
Die Stapel-Datenstruktur ist eine der grundlegendsten in der Informatik. In Java bietet die Klasse Stack eine effiziente Implementierung dieser Art von Struktur.
- Eigenschaften der Stack-Klasse
- Wann sollte die Stack-Klasse verwendet werden?
- Zusätzliche Methoden der Stack-Klasse
- Einschränkungen und Überlegungen
Eigenschaften der Stack-Klasse
- LIFO (Last In - First Out): Das wesentliche Merkmal des Stapels ist, dass das zuletzt eingefügte Element als erstes entfernt wird.
- Dynamisch: Die Klasse
Stackwächst und schrumpft dynamisch, wenn Elemente hinzugefügt oder entfernt werden. - Grundlegende Methoden:
push(),pop()undpeek()sind die am häufigsten verwendeten Methoden in einem Stapel.
Wann sollte die Stack-Klasse verwendet werden?
Der Stapel wird in der Regel in Situationen eingesetzt, in denen die Verarbeitungsreihenfolge der LIFO-Regel folgen muss. Einige typische Anwendungen umfassen:
- Validierung von Ausdrücken mit ausgewogenen Klammern.
- Implementierung von „Rückgängig"-Funktionen in Editoren.
- Seitennavigation in Webbrowsern (Zurück- und Vorwärts-Schaltflächen).
- Konvertierung von Infix-Ausdrücken in Postfix-Ausdrücke.
package com.caffeinealgorithm.programaremjava;
import java.util.Stack;
public class StapelKlasse {
private Stack<Integer> stapel = new Stack<>();
private int multiplikator = 10, zahl = 1;
public void Run() {
for (int index = 1; index <= 5; index++) {
stapel.push(zahl);
zahl *= multiplikator;
}
stapelAusgeben();
System.out.printf("\nEntfernung der Zahl %d aus dem Stapel mit der pop()-Methode.\n\n", stapel.pop());
stapelAusgeben();
System.out.printf("\nDie nächste Zahl, die aus dem Stapel entfernt wird, ist die %d.", stapel.peek());
}
private void stapelAusgeben() {
for (int zahl : stapel)
System.out.println(zahl);
}
}
/*
1
10
100
1000
10000
Entfernung der Zahl 10000 aus dem Stapel mit der pop()-Methode.
1
10
100
1000
Die nächste Zahl, die aus dem Stapel entfernt wird, ist die 1000.
*/
Zusätzliche Methoden der Stack-Klasse
isEmpty(): Gibt true zurück, wenn der Stapel leer ist.search(Object o): Gibt die Position eines Objekts im Stapel zurück, wobei die Zählung von oben beginnt (Element 1 ist die Spitze).size(): Gibt die Anzahl der Elemente im Stapel zurück.clear(): Entfernt alle Elemente aus dem Stapel.
Einschränkungen und Überlegungen
Obwohl die Klasse Stack nützlich ist, wird in vielen modernen Szenarien die Verwendung der Klasse Deque anstelle von Stack bevorzugt, da sie flexibler ist und sowohl als Stapel als auch als Warteschlange eingesetzt werden kann.
Fazit
Die Klasse Stack ist eine grundlegende und klassische Implementierung der Stapel-Datenstruktur in Java. Zu wissen, wie und wann man sie einsetzt, ist für viele Algorithmen und Anwendungen entscheidend. Die Methoden und Eigenschaften zu erlernen ist ein wesentlicher Schritt auf dem Weg zu einem kompetenten Java-Entwickler.