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, Stack
která poskytuje funkčnost datové struktury zásobníku.
Stack
Třída rozšiřuje Vector
tří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.Stack
nejprve importovat balíček. Jakmile naimportujeme balíček, můžeme v Java vytvořit zásobník.
Stack stacks = new Stack();
Zde Type
označ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 Stack
rozšiřuje Vector
třídu, dědí všechny metody Vector
. Chcete-li se dozvědět více o různých Vector
metodách, navštivte Java Vector Class.
Kromě těchto metod Stack
zahrnuje 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
Stack
Tří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 ArrayDeque
třídu (implementuje Deque
rozhraní) k implementaci datové struktury zásobníku v Javě.
Další informace najdete na adrese:
- Java ArrayDeque
- Proč používat Deque over Stack?