В этом руководстве мы узнаем о классе 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 () Метод
Для поиска элемента в стеке мы используем 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?








