Java — Самоучитель

  • 15. Java — Массивы
  • 16. Java — Дата и время
  • 17. Java — Регулярные выражения
  • 18. Java — Методы
  • 21. Java — Вложенные и внутренние классы
  • 22. Java — Наследование
  • 23. Java — Переопределение
  • 24. Java — Полиморфизм
  • 25. Java — Абстракция
  • 26. Java — Инкапсуляция
  • 27. Java — Интерфейсы
  • 28. Java — Пакеты
  • 29.5. Java – Класс Stack

    Stack – это подкласс Vector, который реализует стандартный стек last-in, first-out.

    В Java Stack только определяет стандартный конструктор, который создает пустой стек. Stack включает все методы, определённые Vector, и самостоятельно добавляет несколько своих собственных.

    Stack()
    

    Содержание

    [скрыть]

    Методы

    Кроме методов, унаследованных от его родительского класса Vector, Stack в Java определяет следующие методы.

    Метод и описание
    1boolean empty()
    Проверяет, является ли стек пустым. Возвращает true, если стек пустой. Возвращает false, если стек содержит элементы.
    2Object peek()
    Возвращает элемент, находящийся в верхней части стэка, но не удаляет его.
    3Object pop()
    Возвращает элемент, находящийся в верхней части стэка, удаляя его в процессе.
    4Object push(Object element)
    Вталкивает элемент в стек. Элемент также возвращается.
    5int search(Object element)
    Ищет элемент в стеке. Если найден, возвращается его смещение от вершины стека. В противном случае возвращается 1.

    Пример

    Следующая программа показывает несколько методов, поддерживаемых этой коллекцией:

    import java.util.*;
    public class StackDemo {
    
       static void showpush(Stack st, int a) {
          st.push(new Integer(a));
          System.out.println("Втолкнуть(" + a + ")");
          System.out.println("Стек: " + st);
       }
    
       static void showpop(Stack st) {
          System.out.print("Выстрелить -> ");
          Integer a = (Integer) st.pop();
          System.out.println(a);
          System.out.println("Стек: " + st);
       }
    
       public static void main(String args[]) {
          Stack st = new Stack();
          System.out.println("Стек: " + st);
          showpush(st, 42);
          showpush(st, 66);
          showpush(st, 99);
          showpop(st);
          showpop(st);
          showpop(st);
          try {
             showpop(st);
          } catch (EmptyStackException e) {
             System.out.println("Пустой стек");
          }
       }
    }
    

    Получим следующее:

    Стек: [ ]
    Втолкнуть (42)
    Стек: [42]
    Втолкнуть (66)
    Стек: [42, 66]
    Втолкнуть (99)
    Стек: [42, 66, 99]
    Выстрелить -> 99
    Стек: [42, 66]
    Выстрелить -> 66
    Стек: [42]
    Выстрелить -> 42
    Стек: [ ]
    Выстрелить -> Пустой стек
    
    Поделитесь:

    О сайте

    Все материалы сайта proglang.su являются результатом труда его авторов. Копирование материалов в некоммерческих целях без указания источника в виде прямой ссылки на сайт proglang.su запрещено. Использование материалов в коммерческих целях разрешено только с письменного согласия автора. Нарушение авторских прав преследуется по закону. Мы это делаем, чтобы защитить плоды своих трудов от воровства. © 2014-2019

    Присоединяйтесь


    Обратная связь