I den här handledningen lär vi oss om Java Stack-klassen och dess metoder med hjälp av exempel.
Java-samlingsramen har en klass som heter Stack
funktionaliteten i stackdatastrukturen.
Den Stack
klassen utökar Vector
klassen.
Stackimplementering
I stacken lagras och åtkomst till elementen på Last In First Out- sättet. Det vill säga att element läggs till på toppen av stacken och tas bort från toppen av stacken.
Skapa en stack
För att skapa en stack måste vi först importera java.util.Stack
paketet. När vi väl har importerat paketet, här är hur vi kan skapa en stack i Java.
Stack stacks = new Stack();
Här Type
anger stackens typ. Till exempel,
// Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack();
Stackmetoder
Eftersom den Stack
utvidgar Vector
klassen ärver den alla metoder Vector
. För att lära dig om olika Vector
metoder, besök Java Vector Class.
Förutom dessa metoder Stack
innehåller klassen ytterligare 5 metoder som skiljer den från Vector
.
push () Metod
För att lägga till ett element högst upp i stacken använder vi push()
metoden. Till exempel,
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
Stack: (Hund, Häst, Katt)
pop () Metod
För att ta bort ett element från toppen av stacken använder vi pop()
metoden. Till exempel,
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
Initial stack: (Hund, häst, katt) Borttaget element: Cat
peek () Metod
Den peek()
metoden returnerar ett objekt från toppen av stacken. Till exempel,
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
Stack: (Hund, häst, katt) Element överst: Cat
sök () Metod
För att söka efter ett element i stacken använder vi search()
metoden. Det returnerar elementets position från toppen av stacken. Till exempel,
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
Stack: (Hund, häst, katt) Position för häst: 2
tom () Metod
För att kontrollera om en stack är tom eller inte använder vi empty()
metoden. Till exempel,
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
Stack: (Hund, häst, katt) Är stacken tom? falsk
Använd ArrayDeque istället för Stack
Den Stack
klass erbjuder det direkta genomförandet av stapeln datastrukturen. Det rekommenderas dock att du inte använder det. Använd istället ArrayDeque
klassen (implementerar Deque
gränssnittet) för att implementera stapeldatastrukturen i Java.
För att lära dig mer, besök:
- Java ArrayDeque
- Varför använda Deque over Stack?