Java Stack-Klasse

Stack ist eine Unterklasse von Vector, die einen standardmäßigen Last-In-First-Out-Stack implementiert.

Stack definiert nur den Standardkonstruktor, der zum Erstellen eines leeren Stacks verwendet wird. Zusätzlich zu allen von Vector definierten Methoden definiert Stack auch einige eigene Methoden.

Stack()

Zusätzlich zu allen von Vector definierten Methoden definiert sie auch einige eigene Methoden:

Nein. Methodenbeschreibung
1 boolean empty() 
Prüft, ob der Stack leer ist.
2 Object peek( )
Betrachtet das Objekt an der Spitze des Stacks, ohne es aus dem Stack zu entfernen.
3 Object pop( )
Entfernt das Objekt am oberen Ende des Stapels und gibt dieses Objekt als Wert dieser Funktion zurück.
4 Object push(Object element)
Legt ein Element oben auf den Stapel.
5 int search(Object element)
Gibt die 1-basierte Position des Objekts im Stapel zurück.

Beispiel

Das folgende Programm veranschaulicht mehrere Methoden, die von dieser Sammlung unterstützt werden.

Beispiel

import java.util.*; public class StackDemo { static void showpush(Stack<Integer> st, int a) { st.push(new Integer(a)); System.out.println("push(" + a + ")"); System.out.println("stack: " + st); } static void showpop(Stack<Integer> 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<Integer> st = new Stack<Integer>(); 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"); } } }

Das Ergebnis des Kompilierens und Ausführens des obigen Beispiels ist wie folgt:

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
Andere Erweiterungen