U ovom uputstvu uz primjere ćemo naučiti o klasi Java Stack i njezinim metodama.
Okvir Java zbirki ima klasu Stack
koja pruža funkcionalnost strukture podataka steka.
Stack
Klasa proširuje Vector
klasu.
Implementacija stoga
U hrpi, elementi se pohranjuju i pristupa im se na način Last In First Out . Odnosno, elementi se dodaju na vrh stoga i uklanjaju s vrha stoga.
Stvaranje stoga
Da bismo stvorili stog, prvo moramo uvesti java.util.Stack
paket. Nakon što uvozimo paket, evo kako možemo stvoriti stog u Javi.
Stack stacks = new Stack();
Ovdje Type
označava vrstu stoga. Na primjer,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Metode slaganja
Budući da Stack
proširuje Vector
klasu, nasljeđuje sve metode Vector
. Da biste saznali više o različitim Vector
metodama, posjetite Java Vector Class.
Pored ovih metoda, Stack
klasa uključuje još 5 metoda koje je razlikuju od Vector
.
push () metoda
Da bismo dodali element na vrh stoga, koristimo push()
metodu. Na primjer,
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); ) )
Izlaz
Stog: (pas, konj, mačka)
metoda pop ()
Za uklanjanje elementa s vrha stoga koristimo pop()
metodu. Na primjer,
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); ) )
Izlaz
Početni stog: (pas, konj, mačka) Uklonjeni element: mačka
metoda zavirivanja ()
peek()
Metoda vraća objekt s vrha dimnjaka. Na primjer,
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); ) )
Izlaz
Stog: (pas, konj, mačka) Element na vrhu: mačka
metoda pretraživanja ()
Za pretragu elementa u stogu koristimo search()
metodu. Vraća položaj elementa s vrha stoga. Na primjer,
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); ) )
Izlaz
Stog: (pas, konj, mačka) Položaj konja: 2
prazna () metoda
Da bismo provjerili je li stog prazan ili ne, koristimo empty()
metodu. Na primjer,
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); ) )
Izlaz
Stog: (pas, konj, mačka) Je li stog prazan? lažno
Koristite ArrayDeque umjesto stoga
Stack
Klasa pruža izravnu primjenu strukture stog podataka. Međutim, preporuča se da ga ne koristite. Umjesto toga, upotrijebite ArrayDeque
klasu (implementira Deque
sučelje) za implementaciju strukture podataka steka u Javi.
Da biste saznali više, posjetite:
- Java ArrayDeque
- Zašto koristiti Deque preko Stacka?