I denne vejledning lærer vi om Java Stack-klassen og dens metoder ved hjælp af eksempler.
Java-samlingsrammerne har en klasse med navnet, Stack
der giver funktionaliteten i stack-datastrukturen.
Den Stack
klasse udvider Vector
klassen.
Stakimplementering
I stak gemmes og tilgås elementer på Last In First Out måde. Det vil sige, at elementer tilføjes til toppen af stakken og fjernes fra toppen af stakken.
Oprettelse af en stak
For at oprette en stak skal vi først importere java.util.Stack
pakken. Når vi først har importeret pakken, kan du oprette en stak i Java her.
Stack stacks = new Stack();
Her Type
angiver stakens type. For eksempel,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Stakmetoder
Da Stack
udvider Vector
klassen, arver den alle metoderne Vector
. For at lære om forskellige Vector
metoder, besøg Java Vector Class.
Udover disse metoder Stack
inkluderer klassen 5 flere metoder, der adskiller den fra Vector
.
push () metode
For at tilføje et element til toppen af stakken bruger vi push()
metoden. For eksempel,
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); ) )
Produktion
Stak: (Hund, hest, kat)
pop () Metode
For at fjerne et element fra toppen af stakken bruger vi pop()
metoden. For eksempel,
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); ) )
Produktion
Indledende stak: (Hund, hest, kat) Fjernet element: kat
peek () Metode
Den peek()
metode returnerer et objekt fra toppen af stakken. For eksempel,
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); ) )
Produktion
Stak: (Hund, hest, kat) Element øverst: Kat
søg () Metode
For at søge i et element i stakken bruger vi search()
metoden. Det returnerer elementets position fra toppen af stakken. For eksempel,
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); ) )
Produktion
Stak: (Hund, hest, kat) Hestens position: 2
tom () Metode
For at kontrollere, om en stak er tom eller ej, bruger vi empty()
metoden. For eksempel,
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); ) )
Produktion
Stak: (Hund, hest, kat) Er stakken tom? falsk
Brug ArrayDeque i stedet for stak
Den Stack
klasse giver den direkte gennemførelse af stakken datastruktur. Det anbefales dog ikke at bruge det. Brug i stedet ArrayDeque
klassen (implementerer Deque
grænsefladen) til at implementere stack-datastrukturen i Java.
For at lære mere, besøg:
- Java ArrayDeque
- Hvorfor bruge Deque over Stack?