Selles õpetuses õpime näidete abil Java Stacki klassi ja selle meetodeid.
Java kogude raamistikul on klass nimega, Stack
mis pakub korstna andmestruktuuri funktsionaalsust.
Stack
Klassi laiendab Vector
klassi.
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.Stack
esmalt pakendi importima . Kui pakett on imporditud, saate Java-s virna luua järgmiselt.
Stack stacks = new Stack();
Siin Type
nä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 Stack
laiendatakse Vector
, pärib see kõik meetodid Vector
. Erinevate Vector
meetodite kohta lisateabe saamiseks külastage Java Vector klassi.
Nende meetodite kõrval Stack
sisaldab 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
Stack
Klassi annab otsese rakendamise virna andmete struktuuri. Siiski on soovitatav seda mitte kasutada. Selle asemel kasutage Java-pinu andmestruktuuri juurutamiseks ArrayDeque
klassi (rakendab Deque
liidest).
Lisateabe saamiseks külastage aadressi:
- Java massiivDeque
- Miks kasutada Deque'i üle Stacki?