Třída Java Stack

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?

Zajímavé články...