Клас стеку Java

У цьому підручнику ми дізнаємося про клас 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?

Цікаві статті...