Selles õpetuses õpime näidete abil Java Stacki klassi ja selle meetodeid.
Java kogude raamistikul on klass nimega, Stackmis pakub korstna andmestruktuuri funktsionaalsust.
StackKlassi laiendab Vectorklassi.

Virna rakendamine
Virnas salvestatakse elemendid ja neile pääseb juurde Last In First Out viisil. See tähendab, et virna ülaosale lisatakse elemendid ja eemaldatakse virna ülaosast.

Virna loomine
Virna loomiseks peame java.util.Stackesmalt pakendi importima . Kui pakett on imporditud, saate Java-s virna luua järgmiselt.
Stack stacks = new Stack();
Siin Typenäitab virna tüüpi. Näiteks,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Virna meetodid
Kuna klassi Stacklaiendatakse Vector, pärib see kõik meetodid Vector. Erinevate Vectormeetodite kohta lisateabe saamiseks külastage Java Vector klassi.
Nende meetodite kõrval Stacksisaldab klass veel 5 meetodit, mis seda eristavad Vector.
push () meetod
Elemendi lisamiseks virna ülaossa kasutame push()meetodit. Näiteks,
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äljund
Virna: (koer, hobune, kass)
pop () meetod
Elemendi eemaldamiseks virna ülaosast kasutame pop()meetodit. Näiteks,
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äljund
Esialgne virn: (koer, hobune, kass) eemaldatud element: kass
piiluma () meetod
peek()Meetod tagastab objekti alates magasini tippu. Näiteks,
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äljund
Virn: (koer, hobune, kass) element ülaosas: kass
otsing () meetod
Virnast elemendi otsimiseks kasutame search()meetodit. See tagastab elemendi asukoha virna ülaosast. Näiteks,
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äljund
Virn: (koer, hobune, kass) hobuse asukoht: 2
tühi () meetod
Et kontrollida, kas virn on tühi või mitte, kasutame empty()meetodit. Näiteks,
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äljund
Virn: (koer, hobune, kass) Kas virn on tühi? vale
Virna asemel kasutage ArrayDeque'i
StackKlassi annab otsese rakendamise virna andmete struktuuri. Siiski on soovitatav seda mitte kasutada. Selle asemel kasutage Java-pinu andmestruktuuri juurutamiseks ArrayDequeklassi (rakendab Dequeliidest).
Lisateabe saamiseks külastage aadressi:
- Java massiivDeque
- Miks kasutada Deque'i üle Stacki?








