Java-Stack-Klasse
Java-Stack-Klasse
In diesem Tutorial lernen wir die Klasse Java Stack und ihre Methoden anhand von Beispielen kennen.
Das Java Collections Framework hat eine Klasse namens Stack
die die Funktionalität der Stack-Datenstruktur bereitstellt.
Die Stack
Klasse erweitert den Vector
Klasse.
Stack-Implementierung
Im Stack werden Elemente in Last In First Out gespeichert und aufgerufen Benehmen. Das heißt, Elemente werden oben auf dem Stapel hinzugefügt und oben vom Stapel entfernt.
Stapel erstellen
Um einen Stapel zu erstellen, müssen wir die java.util.Stack
importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir wie folgt einen Stack in Java erstellen.
Stack<Type> stacks = new Stack<>();
Hier, Type
gibt den Stapeltyp an. Zum Beispiel
// Create Integer type stack
Stack<Integer> stacks = new Stack<>();
// Create String type stack
Stack<String> stacks = new Stack<>();
Stack-Methoden
Seit Stack
erweitert den Vector
Klasse erbt sie alle Methoden Vector
. Um mehr über verschiedene Vector
zu erfahren Methoden finden Sie unter Java Vector Class.
Neben diesen Methoden ist der Stack
Klasse enthält 5 weitere Methoden, die sie von Vector
unterscheiden .
push()-Methode
Um ein Element an die Spitze des Stapels hinzuzufügen, verwenden wir den push()
Methode. Zum Beispiel
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// Add elements to Stack
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("Stack: " + animals);
}
}
Ausgabe
Stack: [Dog, Horse, Cat]
pop()-Methode
Um ein Element von der Spitze des Stapels zu entfernen, verwenden wir den pop()
Methode. Zum Beispiel
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// Add elements to Stack
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("Initial Stack: " + animals);
// Remove element stacks
String element = animals.pop();
System.out.println("Removed Element: " + element);
}
}
Ausgabe
Initial Stack: [Dog, Horse, Cat] Removed Element: Cat
peek()-Methode
Die peek()
-Methode gibt ein Objekt von der Spitze des Stapels zurück. Zum Beispiel
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// Add elements to Stack
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("Stack: " + animals);
// Access element from the top
String element = animals.peek();
System.out.println("Element at top: " + element);
}
}
Ausgabe
Stack: [Dog, Horse, Cat] Element at top: Cat
search()-Methode
Um ein Element im Stapel zu suchen, verwenden wir den search()
Methode. Es gibt die Position des Elements von der Spitze des Stapels zurück. Zum Beispiel
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// Add elements to Stack
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("Stack: " + animals);
// Search an element
int position = animals.search("Horse");
System.out.println("Position of Horse: " + position);
}
}
Ausgabe
Stack: [Dog, Horse, Cat] Position of Horse: 2
empty()-Methode
Um zu prüfen, ob ein Stack leer ist oder nicht, verwenden wir den empty()
Methode. Zum Beispiel
import java.util.Stack;
class Main {
public static void main(String[] args) {
Stack<String> animals= new Stack<>();
// Add elements to Stack
animals.push("Dog");
animals.push("Horse");
animals.push("Cat");
System.out.println("Stack: " + animals);
// Check if stack is empty
boolean result = animals.empty();
System.out.println("Is the stack empty? " + result);
}
}
Ausgabe
Stack: [Dog, Horse, Cat] Is the stack empty? false
ArrayDeque statt Stack verwenden
Die Stack
Klasse stellt die direkte Implementierung der Stack-Datenstruktur bereit. Es wird jedoch empfohlen, es nicht zu verwenden. Verwenden Sie stattdessen den ArrayDeque
Klasse (implementiert die Deque
Interface), um die Stack-Datenstruktur in Java zu implementieren.
Um mehr zu erfahren, besuchen Sie:
- Java-ArrayDeque
- Warum Deque statt Stack verwenden?
Java