W tym samouczku dowiemy się o klasie Java Stack i jej metodach na przykładach.
Struktura kolekcji Java ma klasę o nazwie, Stackktóra zapewnia funkcjonalność struktury danych stosu.
StackKlasa rozszerza Vectorklasę.

Implementacja stosu
W stosie elementy są przechowywane i dostępne w trybie Last In First Out . Oznacza to, że elementy są dodawane na wierzchu stosu i usuwane z góry stosu.

Tworzenie stosu
Aby utworzyć stos, musimy najpierw zaimportować java.util.Stackpakiet. Po zaimportowaniu pakietu, oto jak możemy utworzyć stos w Javie.
 Stack stacks = new Stack(); 
Tutaj Typewskazuje typ stosu. Na przykład,
 // Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();  
Metody stosu
Ponieważ Stackrozszerza Vectorklasę, dziedziczy wszystkie metody Vector. Aby dowiedzieć się więcej o różnych Vectormetodach, odwiedź stronę Java Vector Class.
Oprócz tych metod Stackklasa zawiera 5 innych metod, które ją odróżniają Vector.
push () Metoda
Aby dodać element na szczyt stosu, używamy push()metody. Na przykład,
 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); ) ) 
Wynik
Stos: (Pies, Koń, Kot)
pop () Metoda
Aby usunąć element ze szczytu stosu, używamy pop()metody. Na przykład,
 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); ) ) 
Wynik
Stos początkowy: (pies, koń, kot) Usunięty element: Cat
peek () Metoda
peek()Sposób powraca obiektu z górnej części stosu. Na przykład,
 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); ) ) 
Wynik
Stos: (Pies, Koń, Kot) Element u góry: Cat
search () Metoda
Aby wyszukać element w stosie, używamy search()metody. Zwraca pozycję elementu z góry stosu. Na przykład,
 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); ) ) 
Wynik
Stos: (pies, koń, kot) Pozycja konia: 2
empty () Metoda
Aby sprawdzić, czy stos jest pusty, używamy empty()metody. Na przykład,
 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); ) ) 
Wynik
Stos: (Pies, Koń, Kot) Czy stos jest pusty? fałszywy
Użyj ArrayDeque zamiast Stack
StackKlasa zapewnia bezpośrednią realizację struktury danych stos. Jednak zaleca się, aby go nie używać. Zamiast tego użyj ArrayDequeklasy (implementuje Dequeinterfejs), aby zaimplementować strukturę danych stosu w Javie.
Aby dowiedzieć się więcej, odwiedź:
- Java ArrayDeque
 - Dlaczego warto korzystać z Deque over Stack?
 








