Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java Stack“ klasę ir jos metodus.
„Java“ kolekcijų sistemoje yra klasė, pavadinta, Stack
kuri suteikia rietuvės duomenų struktūros funkcionalumą.
Stack
Klasė praplečia Vector
klasę.
„Stack“ įgyvendinimas
Šūsnyje elementai saugomi ir prieinami „ Last In First Out“ būdu. Tai yra, elementai pridedami prie kamino viršaus ir pašalinami iš kamino viršaus.
„Stack“ sukūrimas
Norėdami sukurti kaminą, pirmiausia turime importuoti java.util.Stack
paketą. Kai importuosime paketą, štai kaip galime sukurti „Java“ šūsnį.
Stack stacks = new Stack();
Čia Type
nurodo kamino tipą. Pavyzdžiui,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Stack metodai
Kadangi klasė Stack
pratęsiama Vector
, ji paveldi visus metodus Vector
. Norėdami sužinoti apie įvairius Vector
metodus, apsilankykite „Java Vector Class“.
Be šių metodų, Stack
klasėje yra dar 5 metodai, nuo kurių jis skiriasi Vector
.
stumti () metodas
Norėdami pridėti elementą į kamino viršų, mes naudojame push()
metodą. Pavyzdžiui,
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); ) )
Rezultatas
Krovinys: (šuo, arklys, katė)
pop () metodas
Norėdami pašalinti elementą iš kamino viršaus, mes naudojame pop()
metodą. Pavyzdžiui,
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); ) )
Rezultatas
Pradinis kaminas: (šuo, arklys, katė) pašalintas elementas: katė
žvilgtelėti () metodas
peek()
Metodas grąžina iš kamino viršuje objektą. Pavyzdžiui,
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); ) )
Rezultatas
Šūsnis: (šuo, arklys, katė) elementas viršuje: katė
paieška () metodas
Norėdami ieškoti elemento kamino, mes naudojame search()
metodą. Jis grąžina elemento padėtį iš kamino viršaus. Pavyzdžiui,
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); ) )
Rezultatas
Krovinys: (šuo, arklys, katė) arklio padėtis: 2
tuščias () metodas
Norėdami patikrinti, ar kaminas tuščias, ar ne, mes naudojame empty()
metodą. Pavyzdžiui,
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); ) )
Rezultatas
Šūsnis: (Šuo, arklys, katinas) Ar kaminas tuščias? melagingas
Vietoj „Stack“ naudokite „ArrayDeque“
Stack
Klasė suteikia tiesioginį įgyvendinimą kamino duomenų struktūros. Tačiau rekomenduojama jo nenaudoti. Vietoj to, naudokite ArrayDeque
klasę (įgyvendina Deque
sąsają), kad įdiegtumėte „Java“ kamino duomenų struktūrą.
Norėdami sužinoti daugiau, apsilankykite:
- „Java ArrayDeque“
- Kodėl verta naudoti „Deque“ per „Stack“?