logo search
Хабибуллин

Класс Stack

Второй пример коллекции — класс Stack — расширяет класс Vector. Класс Stack из пакета java.util объединяет элементы в стек.

Стек (stack) реализует порядок работы с элементами подобно магазину винтовки — первым выстрелит патрон, положенный в магазин последним, — или подобно железнодорожному тупику — первым из тупика выйдет вагон, загнанный туда последним. Такой порядок обработки называется LIFO (Last In — First Out, последним пришел — первым ушел).

Перед работой создается пустой стек конструктором Stack().

Затем на стек кладутся и снимаются элементы, причем доступен только "верхний" элемент, тот, что положен на стек последним.

Дополнительно к методам класса Vector класс Stack содержит пять методов, позволяющих работать с коллекцией как со стеком:

push(Object item) — помещает элемент item в стек;

pop() — извлекает верхний элемент из стека;

peek() — читает верхний элемент, не извлекая его из стека;

empty() — проверяет, не пуст ли стек;

search(Object item) — находит позицию элемента item в стеке. Верхний элемент име-