Spec-Zone.ru › OpenJDK 27

Класс Stack<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.Vector<E>
java.util.Stack<E>
Параметры типа:
E - Тип элементов-компонентов
Все реализуемые интерфейсы:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess, SequencedCollection<E>
public class Stack<E> extends Vector<E>
Класс Stack представляет собой стек объектов, работающий по принципу «последним пришёл — первым вышел» (LIFO). Он расширяет класс Vector пятью операциями, позволяющими использовать вектор как стек. Предусмотрены обычные операции push и pop, а также метод для peek верхнего элемента стека, метод проверки, является ли стек empty, и метод для search стека на наличие элемента и определения расстояния от него до вершины.

При создании стек не содержит элементов.

Более полный и согласованный набор операций со стеком LIFO предоставляет интерфейс Deque и его реализации; им следует отдавать предпочтение перед этим классом. Например:

  Deque<Integer> stack = new ArrayDeque<Integer>();
С версии:
1.0
См. также:
  • Сериализованная форма

Краткое описание полей

Поля, объявленные в классе Vector

capacityIncrement, elementCount, elementData
Модификатор и тип Поле Описание
protected int capacityIncrement
Величина, на которую автоматически увеличивается ёмкость вектора, когда его размер превышает его ёмкость.
protected int elementCount
Количество действительных компонентов в этом объекте Vector.
protected Object[] elementData
Буфер массива, в котором хранятся компоненты вектора.

Поля, объявленные в классе AbstractList

modCount
Модификатор и тип Поле Описание
protected int modCount
Количество структурных изменений этого списка.

Краткое описание конструкторов

Конструктор Описание
Stack()
Создаёт пустой стек.

Краткое описание методов

Модификатор и тип Метод Описание
boolean empty()
Проверяет, пуст ли этот стек.
E peek()
Возвращает объект на вершине этого стека, не удаляя его из стека.
E pop()
Удаляет объект с вершины этого стека и возвращает его в качестве результата функции.
E push(E item)
Помещает элемент на вершину этого стека.
int search(Object o)
Возвращает позицию объекта в этом стеке, начиная отсчёт с 1.

Методы, объявленные в классе Vector

add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, retainAll, set, setElementAt, setSize, size, spliterator, subList, toArray, toArray, toString, trimToSize
Модификатор и тип Метод Описание
void add(int index, E element)
Вставляет указанный элемент в указанную позицию этого Vector.
boolean add(E e)
Добавляет указанный элемент в конец этого Vector.
boolean addAll(int index, Collection<? extends E> c)
Вставляет все элементы указанной Collection в этот Vector в указанную позицию.
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной Collection в конец этого Vector в том порядке, в котором их возвращает Iterator указанной Collection.
void addElement(E obj)
Добавляет указанный компонент в конец этого вектора, увеличивая его размер на единицу.
int capacity()
Возвращает текущую ёмкость этого вектора.
void clear()
Удаляет все элементы из этого Vector.
Object clone()
Возвращает копию этого вектора.
boolean contains(Object o)
Возвращает true, если этот вектор содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если этот Vector содержит все элементы указанной Collection.
void copyInto(Object[] anArray)
Копирует компоненты этого вектора в указанный массив.
E elementAt(int index)
Возвращает компонент с указанным индексом.
Enumeration<E> elements()
Возвращает перечисление компонентов этого вектора.
void ensureCapacity(int minCapacity)
При необходимости увеличивает ёмкость этого вектора, чтобы он мог вместить не меньше компонентов, чем указано аргументом минимальной ёмкости.
boolean equals(Object o)
Сравнивает указанный Object с этим Vector на равенство.
E firstElement()
Возвращает первый компонент этого вектора (элемент с индексом 0).
void forEach(Consumer<? super E> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение.
E get(int index)
Возвращает элемент, расположенный в указанной позиции этого Vector.
int hashCode()
Возвращает значение хеш-кода этого Vector.
int indexOf(Object o)
Возвращает индекс первого вхождения указанного элемента в этот вектор или -1, если вектор не содержит этот элемент.
int indexOf(Object o, int index)
Возвращает индекс первого вхождения указанного элемента в этот вектор при поиске вперёд от index или -1, если элемент не найден.
void insertElementAt(E obj, int index)
Вставляет указанный объект в качестве компонента этого вектора в указанную позицию index.
boolean isEmpty()
Проверяет, не содержит ли этот вектор компонентов.
Iterator<E> iterator()
Возвращает итератор элементов этого списка в надлежащем порядке.
E lastElement()
Возвращает последний компонент вектора.
int lastIndexOf(Object o)
Возвращает индекс последнего вхождения указанного элемента в этот вектор или -1, если вектор не содержит этот элемент.
int lastIndexOf(Object o, int index)
Возвращает индекс последнего вхождения указанного элемента в этот вектор при поиске назад от index или -1, если элемент не найден.
ListIterator<E> listIterator()
Возвращает итератор списка для элементов этого списка (в надлежащем порядке).
ListIterator<E> listIterator(int index)
Возвращает итератор списка для элементов этого списка (в надлежащем порядке), начиная с указанной позиции в списке.
E remove(int index)
Удаляет элемент, расположенный в указанной позиции этого Vector.
boolean remove(Object o)
Удаляет первое вхождение указанного элемента в этот Vector. Если Vector не содержит этот элемент, он остаётся неизменным.
boolean removeAll(Collection<?> c)
Удаляет из этого Vector все элементы, содержащиеся в указанной Collection.
void removeAllElements()
Удаляет все компоненты этого вектора и устанавливает его размер равным нулю.
boolean removeElement(Object obj)
Удаляет из этого вектора первое (с наименьшим индексом) вхождение аргумента.
void removeElementAt(int index)
Удаляет компонент с указанным индексом.
boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы коллекции, удовлетворяющие заданному предикату (необязательная операция).
protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex не включительно.
void replaceAll(UnaryOperator<E> operator)
Заменяет каждый элемент этого списка результатом применения оператора к этому элементу (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этом Vector только элементы, содержащиеся в указанной Collection.
E set(int index, E element)
Заменяет элемент, расположенный в указанной позиции этого Vector, указанным элементом.
void setElementAt(E obj, int index)
Устанавливает указанный объект в качестве компонента этого вектора в позиции index.
void setSize(int newSize)
Устанавливает размер этого вектора.
int size()
Возвращает количество компонентов в этом векторе.
Spliterator<E> spliterator()
Создаёт поздно связываемый и fail-fast Spliterator для элементов этого списка.
List<E> subList(int fromIndex, int toIndex)
Возвращает представление части этого List между fromIndex включительно и toIndex не включительно.
Object[] toArray()
Возвращает массив, содержащий все элементы этого Vector в надлежащем порядке.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого Vector в надлежащем порядке; тип возвращаемого массива во время выполнения совпадает с типом указанного массива.
String toString()
Возвращает строковое представление этого Vector, содержащее строковое представление каждого элемента.
void trimToSize()
Уменьшает ёмкость этого вектора до его текущего размера.

Методы, объявленные в классе Object

finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected void finalize()
Устарело, подлежит удалению: этот элемент API планируется удалить в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени.

Методы, объявленные в интерфейсе Collection

parallelStream, stream, toArray
Модификатор и тип Метод Описание
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция.
default Stream<E> stream()
Возвращает последовательный Stream, источником которого является эта коллекция.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив со всеми элементами этой коллекции, используя предоставленную функцию generator для создания возвращаемого массива.

Методы, объявленные в интерфейсе List

addFirst, addLast, getFirst, getLast, removeFirst, removeLast, reversed, sort
Модификатор и тип Метод Описание
default void addFirst(E e)
Добавляет элемент в начало этой коллекции (необязательная операция).
default void addLast(E e)
Добавляет элемент в конец этой коллекции (необязательная операция).
default E getFirst()
Возвращает первый элемент этой коллекции.
default E getLast()
Возвращает последний элемент этой коллекции.
default E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
default E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
default List<E> reversed()
Возвращает представление этой коллекции в обратном порядке.
default void sort(Comparator<? super E> c)
Сортирует этот список в соответствии с порядком, задаваемым указанным Comparator (необязательная операция).

Подробное описание конструкторов

Stack

public Stack()
Создаёт пустой стек.

Подробное описание методов

push

public E push(E item)
Помещает элемент на вершину этого стека. Это в точности эквивалентно следующему:
addElement(item)
Параметры:
item - элемент, который нужно поместить на вершину этого стека.
Возвращает:
аргумент item.
См. также:
  • Vector.addElement(E)

pop

public E pop()
Удаляет объект с вершины этого стека и возвращает его в качестве результата функции.
Возвращает:
Объект на вершине этого стека (последний элемент объекта Vector).
Выбрасывает:
EmptyStackException - если стек пуст.

peek

public E peek()
Возвращает объект на вершине этого стека, не удаляя его из стека.
Возвращает:
объект на вершине этого стека (последний элемент объекта Vector).
Выбрасывает:
EmptyStackException - если стек пуст.

empty

public boolean empty()
Проверяет, пуст ли этот стек.
Возвращает:
true тогда и только тогда, когда этот стек не содержит элементов; в противном случае — false.

search

public int search(Object o)
Возвращает позицию объекта в этом стеке, начиная отсчёт с 1. Если объект o встречается в этом стеке, метод возвращает расстояние от вершины стека до ближайшего к ней вхождения; верхний элемент стека считается находящимся на расстоянии 1. Для сравнения o с элементами этого стека используется метод equals.
Параметры:
o - искомый объект.
Возвращает:
позицию объекта в стеке, отсчитываемую от вершины с 1; возвращаемое значение -1 означает, что объекта в стеке нет.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API