Trieda Java Stack

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, Stackktorá poskytuje funkčnosť dátovej štruktúry zásobníka.

StackTrieda rozširuje Vectortriedu.

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.Stackbalík. Po importovaní balíka môžeme vytvoriť zásobník v Jave.

 Stack stacks = new Stack(); 

Tu Typeoznač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 Stackrozširuje Vectortriedu, dedí všetky metódy Vector. Ak sa chcete dozvedieť viac o rôznych Vectormetódach, navštívte Java Vector Class.

Okrem týchto metód Stacktrieda 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

StackTrieda poskytuje priame vykonávanie štruktúry zásobníka dát. Odporúča sa však nepoužívať ho. Namiesto toho použite ArrayDequetriedu (implementuje Dequerozhranie) 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?

Zaujímavé články...