Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java Stack klasi un tās metodēm.
Java kolekciju ietvaram ir klase ar nosaukumu, Stack
kas nodrošina kaudzes datu struktūras funkcionalitāti.
Stack
Klases paplašina Vector
klasi.
Steka ieviešana
Stekā elementi tiek glabāti un tiem piekļūst Last In First Out veidā. Tas ir, elementi tiek pievienoti kaudzes augšdaļā un noņemti no kaudzes augšdaļas.
Steka izveide
Lai izveidotu kaudzīti, mums vispirms ir jāimportē java.util.Stack
pakete. Kad pakotne ir importēta, šeit mēs varam izveidot Java kaudzīti.
Stack stacks = new Stack();
Šeit Type
norāda kaudzes tipu. Piemēram,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Steka metodes
Tā Stack
kā Vector
klase tiek paplašināta , tā pārmanto visas metodes Vector
. Lai uzzinātu vairāk par dažādām Vector
metodēm, apmeklējiet Java Vector klasi.
Bez šīm metodēm Stack
klasē ietilpst vēl 5 metodes, kas to atšķir Vector
.
push () metode
Lai pievienotu elementu kaudzes augšdaļā, mēs izmantojam push()
metodi. Piemēram,
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); ) )
Rezultāts
Kaudze: (suns, zirgs, kaķis)
pop () metode
Lai noņemtu elementu no kaudzes augšdaļas, mēs izmantojam pop()
metodi. Piemēram,
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); ) )
Rezultāts
Sākotnējā kaudze: (suns, zirgs, kaķis) noņemtais elements: kaķis
palūrēt () metode
peek()
Metode atgriež objektu no augšas kaudze. Piemēram,
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); ) )
Rezultāts
Kaudze: (suns, zirgs, kaķis) elements augšpusē: kaķis
meklēt () metode
Lai meklētu elementu kaudzē, mēs izmantojam search()
metodi. Tas atgriež elementa pozīciju no kaudzes augšdaļas. Piemēram,
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); ) )
Rezultāts
Kaudze: (suns, zirgs, kaķis) zirga novietojums: 2
tukša () metode
Lai pārbaudītu, vai kaudze nav tukša, mēs izmantojam empty()
metodi. Piemēram,
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); ) )
Rezultāts
Kaudze: (Suns, Zirgs, Kaķis) Vai kaudze ir tukša? nepatiesa
Steka vietā izmantojiet ArrayDeque
Stack
Klase nodrošina tiešu īstenošanu kaudze datu struktūru. Tomēr ieteicams to neizmantot. Tā vietā izmantojiet ArrayDeque
klasi (ievieš Deque
saskarni), lai ieviestu kaudzes datu struktūru Java.
Lai uzzinātu vairāk, apmeklējiet:
- Java masīvsDeque
- Kāpēc lietot Deque over Stack?