V tomto tutoriále sa pomocou príkladov dozvieme o triede Java Stack a jej metódach.
Rámec kolekcií Java má triedu s názvom, Stack
ktorá poskytuje funkčnosť dátovej štruktúry zásobníka.
Stack
Trieda rozširuje Vector
triedu.
Stack Implementácia
V zásobníku sú prvky uložené a je k nim prístup spôsobom Last In First Out . To znamená, že prvky sa pridajú do hornej časti stohu a odstránia sa z hornej časti stohu.
Vytvorenie stohu
Aby sme vytvorili stoh, musíme najskôr importovať java.util.Stack
balík. Po importovaní balíka môžeme vytvoriť zásobník v Jave.
Stack stacks = new Stack();
Tu Type
označuje typ stohu. Napríklad,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Metódy skladovania
Pretože Stack
rozširuje Vector
triedu, dedí všetky metódy Vector
. Ak sa chcete dozvedieť viac o rôznych Vector
metódach, navštívte Java Vector Class.
Okrem týchto metód Stack
trieda obsahuje ďalších 5 metód, ktoré ju odlišujú Vector
.
metóda push ()
Na pridanie prvku do hornej časti stohu používame push()
metódu. Naprí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ýkon
Zásobník: (pes, kôň, mačka)
metóda pop ()
Na odstránenie prvku z hornej časti stohu použijeme pop()
metódu. Naprí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ýkon
Počiatočný zásobník: (pes, kôň, mačka) Odstránený prvok: kat
nahliadnuť () metóda
peek()
Metóda vráti objekt z hornej časti zásobníka. Naprí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ýkon
Zásobník: (pes, kôň, mačka) Prvok na vrchu: mačka
metóda search ()
Na hľadanie prvku v zásobníku používame search()
metódu. Vráti pozíciu prvku z hornej časti stohu. Naprí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ýkon
Stoh: (pes, kôň, mačka) Poloha koňa: 2
prázdna () metóda
Na kontrolu, či je zásobník prázdny alebo nie, použijeme empty()
metódu. Naprí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ýkon
Zásobník: (pes, kôň, mačka) Je zásobník prázdny? nepravdivé
Namiesto Stack použite ArrayDeque
Stack
Trieda poskytuje priame vykonávanie štruktúry zásobníka dát. Odporúča sa však nepoužívať ho. Namiesto toho použite ArrayDeque
triedu (implementuje Deque
rozhranie) na implementáciu dátovej štruktúry zásobníka v Jave.
Ak sa chcete dozvedieť viac, navštívte:
- Java ArrayDeque
- Prečo používať Deque over Stack?