4Java.ru

Регистрация


Учебник для начинающих
Обзор языка
Установка и настройка
Синтаксис
Классы и объекты
Типы данных и литералы
Типы переменных
Модификаторы
Операторы
Циклы и операторы цикла
Цикл while
Цикл for
Улучшенный цикл for
Цикл do..while
Оператор break
Оператор continue
Операторы принятия решений
Оператор if
Оператор if..else
Вложенный оператор if
Оператор switch..case
Условный оператор (? :)
Числа
Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
Метод compareTo()
Метод equals()
Метод valueOf()
Метод toString()
Метод parseInt()
Метод Math.abs()
Метод Math.ceil()
Метод Math.floor()
Метод Math.rint()
Метод Math.round()
Метод Math.min()
Метод Math.max()
Метод Math.exp()
Метод Math.log()
Метод Math.pow()
Метод Math.sqrt()
Метод Math.sin()
Метод Math.cos()
Метод Math.tan()
Метод Math.asin()
Метод Math.acos()
Метод Math.atan()
Метод Math.atan2()
Метод Math.toDegrees()
Метод Math.toRadians()
Метод Math.random()
Символы
Метод Character.isLetter()
Метод Character.isDigit()
Метод Character.isWhitespace()
Метод Character.isUpperCase()
Метод Character.isLowerCase()
Метод Character.toUpperCase()
Метод Character.toLowerCase()
Метод Character.toString()
Строки
Метод charAt()
Метод compareTo()
Метод compareToIgnoreCase()
Метод concat()
Метод contentEquals()
Метод copyValueOf()
Метод endsWith()
Метод equals()
Метод equalsIgnoreCase()
Метод getBytes()
Метод getChars()
Метод hashCode()
Метод indexOf()
Метод intern()
Метод lastIndexOf()
Метод length()
Метод matches()
Метод regionMatches()
Метод replace()
Метод replaceAll()
Метод replaceFirst()
Метод split()
Метод startsWith()
Метод subSequence()
Метод substring()
Метод toCharArray()
Метод toLowerCase()
Метод toString()
Метод toUpperCase()
Метод trim()
Метод valueOf()
Классы StringBuilder и StringBuffer
Метод append()
Метод reverse()
Метод delete()
Метод insert()
Метод replace()
Массивы
Дата и время
Регулярные выражения
Методы
Потоки ввода/вывода, файлы и каталоги
Класс ByteArrayInputStream
Класс DataInputStream
Класс ByteArrayOutputStream
Класс DataOutputStream
Класс File
Класс FileReader
Класс FileWriter
Исключения
Встроенные исключения
Вложенные и внутренние классы
Наследование
Переопределение
Полиморфизм
Абстракция
Инкапсуляция
Интерфейсы
Пакеты
Структуры данных
Интерфейс Enumeration
Класс BitSet
Класс Vector
Класс Stack
Класс Dictionary
Класс Hashtable
Класс Properties
Интерфейс Map

Класс Stack

Содержание

  1. Методы
  2. Пример

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
Стек: [ ]
Выстрелить -> Пустой стек

© 4Java.ru