English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java Prozesskontrolle

Java Array

Java objektorientiert(I)

Java objektorientiert(II)

Java objektorientiert(III)

Java Ausnahmebehandlung

Java Liste(List)

Java Queue(K队列)

Java Map-Sammlung

Java Set-Sammlung

Java Ein- und Ausgabe(I/O)

Java Reader/Writer

Java andere Themen

Java Stack (Stack)

In diesem教程, werden wir mit Beispielen lernen Java Stack-Klasse und ihre Methoden.

Der Java Collection Framework hat eine Klasse namens Stack, die die Funktionen der Stapel-Datenstruktur bietet.

Diese Stack-Klasse erbt von der Vector-Klasse.

Stapelumsetzung

In der Stapel, die Elemente werden inLast in, first outauf diese Weise speichern und zugreifen. Das bedeutet, dass Elemente an der Oberseite des Stapels hinzugefügt und von der Oberseite des Stapels entfernt werden.

Stapel erstellen

Um einen Stapel zu erstellen, müssen wir zunächst das Paket java.util.Stack importieren. Nach dem Import des Pakets können wir Java verwenden, um einen Stapel zu erstellen.

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

Hier zeigt Type an, welchen Typ der Stapel hat. Zum Beispiel,

//Erstellen Sie einen Stapel für den Integer-Typ
Stack<Integer> stacks = new Stack<>();
//Erstellen Sie einen Stapel für den String-Typ
Stack<String> stacks = new Stack<>();

Stapelmethode

Da Stack die Vector-Klasse vererbt, erbt sie alle Methoden von Vector. Um die verschiedenen Vector-Methoden zu verstehen, besuchen Sie bitteJava Vector Klasse.

Außer diesen Methoden umfasst die Stack-Klasse auch5Methoden, die sich von Vector unterscheiden.

push() Methode

Um ein Element auf das oberste Ende des Stapels zu setzen, verwenden wir die Methode push(). Zum Beispiel,

import java.util.Stack;
class Main {
    public static void main(String[] args) {
        Stack<String> animals = new Stack<>();
        //Fügen Sie Elemente zum Stack hinzu
        animals.push("Hund");
        animals.push("Pferd");
        animals.push("Katze");
        System.out.println("Stack: "); + animals);
    }
}

Ausgabeergebnis

Stack: [Hund, Pferd, Katze]

pop() Methode

Um ein Element vom oberen Ende des Stapels zu löschen, verwenden wir die Methode pop(). Zum Beispiel,

import java.util.Stack;
class Main {
    public static void main(String[] args) {
        Stack<String> animals = new Stack<>();
        //Element in den Stack hinzufügen
        animals.push("Hund");
        animals.push("Pferd");
        animals.push("Katze");
        System.out.println("Initialer Stapel: "); + animals);
        //Element aus dem Stapel löschen, Prinzip von Last In, First Out
        String element = animals.pop();
        System.out.println("Element löschen: "); + element);
    }
}

Ausgabeergebnis

Initialer Stapel: [Dog, Horse, Cat]
Element löschen: Cat

peek() Methode

Die Methode peek() gibt ein Objekt vom oberen Ende des Stapels zurück. Zum Beispiel,

import java.util.Stack;
class Main {
    public static void main(String[] args) {
        Stack<String> animals = new Stack<>();
        //Fügen Sie Elemente zum Stack hinzu
        animals.push("Hund");
        animals.push("Pferd");
        animals.push("Katze");
        System.out.println("Stack: "); + animals);
        //Zugriff auf das Element von oben, Prinzip von Last In, First Out
        String element = animals.peek();
        System.out.println("Oberstes Element: "); + element);
    }
}

Ausgabeergebnis

Stack: [Hund, Pferd, Katze]
Oberstes Element: Cat

Um ein Element im Stapel zu suchen, verwenden wir die Methode search(). Sie gibt die Position des Elements vom oberen Ende des Stapels zurück. Zum Beispiel,

import java.util.Stack;
class Main {
    public static void main(String[] args) {
        Stack<String> animals = new Stack<>();
        //Fügen Sie Elemente zum Stack hinzu
        animals.push("Hund");
        animals.push("Pferd");
        animals.push("Katze");
        System.out.println("Stack: "); + animals);
        //Element suchen
        int position = animals.search("Horse");
        System.out.println("Position des Elements Horse: "); + position);
    }
}

Ausgabeergebnis

Stack: [Hund, Pferd, Katze]
Position des Elements Horse: 2

empty() Methode

Um zu überprüfen, ob der Stapel leer ist, verwenden wir die Methode empty(). Zum Beispiel,

import java.util.Stack;
class Main {
    public static void main(String[] args) {
        Stack<String> animals = new Stack<>();
        //Fügen Sie Elemente zum Stack hinzu
        animals.push("Hund");
        animals.push("Pferd");
        animals.push("Katze");
        System.out.println("Stack: "); + animals);
        //Überprüfen Sie, ob der Stack leer ist
        boolean result = animals.empty();
        System.out.println("Ist der Stack leer? "); + result);
    }
}

Ausgabeergebnis

Stack: [Hund, Pferd, Katze]
Ist der Stack leer? false

Verwenden Sie ArrayDeque anstelle von Stack

Diese Stack-Klasse bietet eine direkte Ausführung des Stacks als Datenstruktur. Es wird jedoch empfohlen, die ArrayDeque-Klasse (Implementierung des Deque-Interfaces) in Java zur Implementierung des Stacks zu verwenden.

Für weitere Informationen besuchen Sie bitte:Java ArrayDeque