Spec-Zone.ru › OpenJDK 25

Класс 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

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

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

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

finalize, getClass, notify, notifyAll, wait, wait, wait

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

parallelStream, stream, toArray

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

addFirst, addLast, getFirst, getLast, removeFirst, removeLast, reversed, sort

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Stack.html

Spec-Zone.ru

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