În acest tutorial, vom afla despre clasa Java Stack și metodele sale cu ajutorul unor exemple.
Cadrul de colecții Java are o clasă numită Stack
care oferă funcționalitatea structurii de date a stivei.
Stack
Clasa extinde Vector
clasa.
Implementarea stivei
În stivă, elementele sunt stocate și accesate în modul Last In First Out . Adică, elementele sunt adăugate în partea de sus a stivei și eliminate din partea de sus a stivei.
Crearea unei stive
Pentru a crea o stivă, trebuie mai java.util.Stack
întâi să importăm pachetul. Odată ce am importat pachetul, iată cum putem crea o stivă în Java.
Stack stacks = new Stack();
Aici, Type
indică tipul stivei. De exemplu,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Metode de stivă
Deoarece Stack
extinde Vector
clasa, el moștenește toate metodele Vector
. Pentru a afla despre diferite Vector
metode, vizitați Java Vector Class.
Pe lângă aceste metode, Stack
clasa include încă 5 metode care o diferențiază de Vector
.
push () Metoda
Pentru a adăuga un element în partea de sus a stivei, folosim push()
metoda. De exemplu,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack animals= new Stack(); // Add elements to Stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); ) )
Ieșire
Stivă: (câine, cal, pisică)
pop () Metodă
Pentru a elimina un element din partea de sus a stivei, folosim pop()
metoda. De exemplu,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Ieșire
Stiva inițială: (câine, cal, pisică) Element eliminat: pisică
peek () Metodă
peek()
Metoda returneaza un obiect din partea de sus a stivei. De exemplu,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Ieșire
Stivă: (câine, cal, pisică) Element în partea de sus: Cat
metoda search ()
Pentru a căuta un element din stivă, folosim search()
metoda. Returnează poziția elementului din partea de sus a stivei. De exemplu,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Ieșire
Stiva: (câine, cal, pisică) Poziția calului: 2
empty () Metodă
Pentru a verifica dacă un teanc este gol sau nu, folosim empty()
metoda. De exemplu,
import java.util.Stack; class Main ( public static void main(String() args) ( Stack 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); ) )
Ieșire
Stiva: (Câine, Cal, Pisică) Stiva este goală? fals
Utilizați ArrayDeque în loc de Stack
Stack
Clasa asigură punerea în aplicare directă a structurii de date stiva. Cu toate acestea, este recomandat să nu-l utilizați. În schimb, utilizați ArrayDeque
clasa (implementează Deque
interfața) pentru a implementa structura de date a stivei în Java.
Pentru a afla mai multe, vizitați:
- Java ArrayDeque
- De ce să folosiți Deque over Stack?