У цьому підручнику ми дізнаємося про клас Java Stack та його методи за допомогою прикладів.
Структура колекцій Java має клас з іменем, Stackякий забезпечує функціональність структури даних стека.
StackКлас розширює Vectorклас.

Впровадження стека
У стеку елементи зберігаються та отримуються доступ до них способом « Останнє введення». Тобто елементи додаються у верх стека і видаляються з верху стека.

Створення стека
Для того, щоб створити стек, 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 ()
Щоб перевірити, порожній стек чи ні, ми використовуємо 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?








