Beispiel für eine Java-Stack-Klasse

Stapel ist die Unterklasse von Vector, die dynamischer Natur ist und deren Größe mit dem Hinzufügen der Elemente zunimmt. Die Stack-Klasse ermöglicht die Erstellung eines Stapels von Elementen, wobei das letzte dem Stapel hinzugefügte Element zuerst entnommen wird. Dies wird auch als bezeichnet „Last in First Out“ (LIFO).

Bei einer Stack-Klasse werden Elemente durch Aufruf auf den Stack verschoben drücken() Methode und Elemente werden mit abgerufen Pop() Methode. Das erste Element des Stapels wird durch Aufruf angezeigt spähen() Methode, die nur auf das Element oben im Stapel zeigt, es aber nicht entfernt. Der suchen() Die Methode bestimmt die Existenz eines Objekts auf dem Stapel und führt diese vielen Pop-Aufrufe aus, um das angegebene Element an die Spitze zu bringen.

lesen Sie auch:

  • Konvertieren Sie String mit SimpleDateFormat in ein Datum
  • So teilen Sie einen String in Java
  • Beispiel für eine Java String Intern-Methode

Die Stack-Klasse bietet einige Vorteile, wie z. B. eine schnellere Speicherzuweisung für die Elemente, geordnete Sammlungen von Elementen und der Nachteil besteht darin, dass, wenn sich N Elemente auf dem Stapel befinden, zum Abrufen des ersten Elements vom Stapel N Pop-Aufrufe ausgeführt werden müssen, was mehr Zeit in Anspruch nimmt. Daher ist die Verwendung besser, wenn Stack nur wenige Elemente enthält.

Stack-Klassendeklaration

 public class Stack <E> extends Vector <E>

Wobei E der Typ des im Stapel gespeicherten Elements ist.

Stack-Klassenkonstruktor

  • stack (): Es erstellt einen standardmäßig leeren Stack, der eine neue Instanz der Stack-Klasse initialisiert.

Stack-Klassenmethoden

Methodenbeschreibung

boolean leer ()Wenn der Stapel Elemente enthält, wird „falsch“ zurückgegeben, andernfalls wird der boolesche Wert „true“ zurückgegeben, der angibt, dass der Stapel leer ist.
E-peek ()Es gibt das Element oben auf den Stapel, ohne es zu entfernen.
E-PopEs entfernt das oberste Element vom Stapel.
E-Push (E-Item)Es verschiebt die Elemente an die Spitze des Stapels.
int search (Objekt o)Es sucht nach dem Element im Stapel. Wenn gefunden, wird 1 zurückgegeben, andernfalls wird -1 zurückgegeben.

Beispiel für eine Java-Stack-Klasse

import java.util.*;
public class Example_stack {
	public static void main(String[] args) {
	      Stack<Integer> s1 = new Stack<Integer> ();

	      s1.push (123);
	      s1.push (956);
	      s1.push (89);

	      System.out.println ("check whether stack is empty?”+s1.empty ());
	      System.out.println ("Top element of stack is: "+s1.peek ());
	      System.out.println ("Element removed from stack is: "+s1.pop ());
	      System.out.println ("stack elements after removal: "+s1);
	      System.out.println ("Check for element '56' in stack: "+s1.search (56));
	}
}
  • Das obige Programm veranschaulicht die Verwendung von Stapelmethoden. Hier haben wir die Methoden push(), pop(), search(), empty() und peek() demonstriert.
  • Stapel s1 = neuer Stapel (); Zeile erstellt den Stack s1, der die Stack-Elemente enthält und mithilfe des Operators new das Objekt s1 für die Stack-Klasse erstellt.
  • s1.push (123); Zeile gibt an, dass das angegebene Element zum Stapel s1 hinzugefügt wurde.
  • System.out.println („Überprüfen Sie, ob der Stapel leer ist?“+s1.empty ()); Anweisung prüft, ob Stack s1 leer ist oder nicht. Wenn es Elemente enthält, gibt es „false“ zurück, andernfalls wird „true“ zurückgegeben.
  • System.out.println („Oberstes Element des Stapels ist: „+s1.peek ());“ Die Anweisung zeigt auf das erste Element des Stapels s1 und gibt es zurück, entfernt es jedoch nicht vom Stapel.
  • System.out.println („Aus dem Stapel entferntes Element ist: „+s1.pop ());“ Zeile entfernt das oberste Element vom Stapel.
  • System.out.println („Prüfung auf Element ‚56‘ im Stapel: „+s1.search (56));“ Zeile sucht nach dem angegebenen Element im Stapel s1. Wenn es gefunden wird, wird 1 zurückgegeben, andernfalls wird -1 zurückgegeben.

Wenn Sie das obige Beispiel ausführen, erhalten Sie die folgende Ausgabe:

Beispiel für eine Java-Stack-Klasse

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen