English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
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<>();
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.
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]
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
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
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
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