Клас на Java стека

В този урок ще научим за класа Java Stack и неговите методи с помощта на примери.

Рамката на колекциите на Java има клас с име, Stackкойто осигурява функционалността на структурата на стека данни.

В Stackклас разширява Vectorклас.

Внедряване на стека

В стека елементите се съхраняват и се осъществява достъп до тях по начин Last In First Out . Тоест, елементите се добавят в горната част на стека и се отстраняват от горната част на стека.

Създаване на стек

За да създадем стек, първо трябва да импортираме java.util.Stackпакета. След като импортираме пакета, ето как можем да създадем стек в Java.

 Stack stacks = new Stack(); 

Тук Typeуказва типа на стека. Например,

 // Create Integer type stack Stack stacks = new Stack(); // Create String type stack Stack stacks = new Stack(); 

Методи за стека

Тъй като Stackразширява Vectorкласа, той наследява всички методи Vector. За да научите за различни Vectorметоди, посетете Java Vector Class.

Освен тези методи, Stackкласът включва още 5 метода, които го отличават от Vector.

метод push ()

За да добавим елемент в горната част на стека, използваме push()метода. Например,

 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); ) ) 

Изход

 Стек: (Куче, кон, котка) 

метод pop ()

За да премахнем елемент от горната част на стека, използваме pop()метода. Например,

 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); ) ) 

Изход

 Първоначален стек: (куче, кон, котка) Премахнат елемент: кат 

метод peek ()

В peek()метода връща обект от върха на комина. Например,

 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); ) ) 

Изход

 Стек: (Куче, кон, котка) Елемент отгоре: кат 

метод за търсене ()

За да търсим елемент в стека, използваме search()метода. Той връща позицията на елемента от горната част на стека. Например,

 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); ) ) 

Изход

 Стек: (Куче, кон, котка) Положение на коня: 2 

празен () метод

За да проверим дали стекът е празен или не, използваме empty()метода. Например,

 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); ) ) 

Изход

Стек: (Куче, кон, котка) Стекът празен ли е? невярно

Използвайте ArrayDeque вместо Stack

В Stackклас осигурява прякото приложение на структурата на купчина на данни. Препоръчително е обаче да не се използва. Вместо това използвайте ArrayDequeкласа (реализира Dequeинтерфейса), за да приложите структурата на стека данни в Java.

За да научите повече, посетете:

  • Java ArrayDeque
  • Защо да използваме Deque над Stack?

Интересни статии...