Как использовать класс Stack в Java

Структура данных Stack основана на принципе Last In First Out (LIFO) и в Java реализует интерфейс Java List.

Основные операции, поддерживаемые стек — это push и pop .

Push добавляет элемент вверху стека.

1 из 3

Pop удаляет самый верхний элемент стека.

v>

1 из 3

Объявление стека в Java

Чтобы объявить стек в Java, сначала начните с ключевого слова stack , за которым следуют угловые скобки, , которые содержат тип данных элементов стека. Затем напишите имя стека и, наконец, напишите ключевое слово new , чтобы выделить память для вновь созданного стека.

Синтаксис для объявления стека в Java это: . Ключевое слово, за которым следуют угловые скобки, содержит тип данных элементов стека.

 Стек  stackName = new Stack  (); 

Методы в классе Stack

  • push ():

    Метод push () помещает элемент, переданный в качестве параметра, в верхнюю часть стека.

  • pop ():

    Метод pop () удаляет и возвращает верхний элемент стека.

    Исключение EmptyStackException выдается, если мы вызываем метод pop () для пустого стека.

  • Метод peek () r возвращает элемент вверху стека, но не удаляет его.

  • empty ():

    Метод empty () возвращает true , если стек пуст, в противном случае он возвращает false .

  • поиск (элемент объекта):

    search ( ) определяет, существует ли в стеке объект, который является входным параметром функции.

    Если элемент найден, он возвращает позицию (как integer ) элемента из вершины стека, в противном случае возвращается -1.

Пример

Ниже приведен пример реализации стека класс в Java:

 import java.util. *; //импорт стека classclass MyClass {public static void main (String [] args) {//Создание стека Stack  even = new Stack  (); //помещаем значения в стек even.push (0);  even.push (2);  even.push (4);  even.push (6);  even.push (8);  even.push (10);  even.push (12);  even.push (14);  even.push (16); //печать стека System.out.println ("Печать стека перед pop:");  System.out.println (даже); //возвращаем число наверху стека и удаляем его System.out.println ("pop =>" + even.pop ());  System.out.println ("pop =>" + even.pop ());  System.out.println ("pop =>" + even.pop ()); //печать стека System.out.println ("Печать стека после pop:");  System.out.println (даже); //доступ к числу наверху стека, но не удаление его System.out.println ("Число наверху стека =>" + even.peek ()); //проверка, пуст стек или нет System.out.println ("Стек пуст? Ответ:" + even.empty ()); //проверка позиции 8 в стеке System.out.println ("Позиция 8 сверху равна" + even.search (8)); //проверяем, существует ли 20 в стеке System.out.println ("Позиция 20 сверху равна" + even.search (20));  }} 

Оцените статью
nanomode.ru
Добавить комментарий