Класс 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 |
Помещает элемент на вершину этого стека. |
int |
search |
Возвращает позицию объекта в этом стеке, начиная с 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
Методы, объявленные в интерфейсе 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. - См. также:
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означает, что объекта в стеке нет.
© 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