V tomto výukovém programu se na příkladech seznámíme s třídou Java Stack a jejími metodami.
Rámec kolekcí Java má třídu s názvem, Stackkterá poskytuje funkčnost datové struktury zásobníku.
StackTřída rozšiřuje Vectortřídu.

Stack Implementation
V zásobníku se prvky ukládají a přistupuje k nim způsobem Last In First Out . To znamená, že prvky jsou přidány do horní části zásobníku a odstraněny z horní části zásobníku.

Vytvoření zásobníku
Aby bylo možné vytvořit zásobník, musíme java.util.Stacknejprve importovat balíček. Jakmile naimportujeme balíček, můžeme v Java vytvořit zásobník.
Stack stacks = new Stack();
Zde Typeoznačuje typ zásobníku. Například,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Metody skládání
Protože Stackrozšiřuje Vectortřídu, dědí všechny metody Vector. Chcete-li se dozvědět více o různých Vectormetodách, navštivte Java Vector Class.
Kromě těchto metod Stackzahrnuje třída dalších 5 metod, které ji odlišují Vector.
metoda push ()
Chcete-li přidat prvek do horní části zásobníku, použijeme push()metodu. Například,
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); ) )
Výstup
Zásobník: (pes, kůň, kočka)
metoda pop ()
Chcete-li odebrat prvek z horní části zásobníku, použijeme pop()metodu. Například,
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); ) )
Výstup
Počáteční zásobník: (pes, kůň, kočka) Odstraněný prvek: kočka
metoda peek ()
peek()Metoda vrátí objekt z horní části zásobníku. Například,
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); ) )
Výstup
Zásobník: (Pes, Kůň, Kočka) Prvek nahoře: Kočka
metoda search ()
K vyhledání prvku v zásobníku použijeme search()metodu. Vrátí pozici prvku z horní části zásobníku. Například,
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); ) )
Výstup
Zásobník: (pes, kůň, kočka) Poloha koně: 2
prázdná () metoda
Chcete-li zkontrolovat, zda je zásobník prázdný nebo ne, použijeme empty()metodu. Například,
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); ) )
Výstup
Zásobník: (pes, kůň, kočka) Je zásobník prázdný? Nepravdivé
Použijte ArrayDeque místo zásobníku
StackTřída poskytuje přímé provádění struktury zásobníku dat. Doporučuje se jej však nepoužívat. Místo toho použijte ArrayDequetřídu (implementuje Dequerozhraní) k implementaci datové struktury zásobníku v Javě.
Další informace najdete na adrese:
- Java ArrayDeque
- Proč používat Deque over Stack?








