Класс 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 |
Помещает элемент на вершину этого стека. |
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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Вставляет указанный элемент в указанную позицию этого Vector. |
boolean |
add |
Добавляет указанный элемент в конец этого Vector. |
boolean |
addAll |
Вставляет все элементы указанной Collection в этот Vector в указанную позицию. |
boolean |
addAll |
Добавляет все элементы указанной Collection в конец этого Vector в том порядке, в котором их возвращает Iterator указанной Collection. |
void |
addElement |
Добавляет указанный компонент в конец этого вектора, увеличивая его размер на единицу. |
int |
capacity() |
Возвращает текущую ёмкость этого вектора. |
void |
clear() |
Удаляет все элементы из этого Vector. |
Object |
clone() |
Возвращает копию этого вектора. |
boolean |
contains |
Возвращает true, если этот вектор содержит указанный элемент. |
boolean |
containsAll |
Возвращает true, если этот Vector содержит все элементы указанной Collection. |
void |
copyInto |
Копирует компоненты этого вектора в указанный массив. |
E |
elementAt |
Возвращает компонент с указанным индексом. |
Enumeration |
elements() |
Возвращает перечисление компонентов этого вектора. |
void |
ensureCapacity |
При необходимости увеличивает ёмкость этого вектора, чтобы он мог вместить не меньше компонентов, чем указано аргументом минимальной ёмкости. |
boolean |
equals |
Сравнивает указанный Object с этим Vector на равенство. |
E |
firstElement() |
Возвращает первый компонент этого вектора (элемент с индексом 0). |
void |
forEach |
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение. |
E |
get |
Возвращает элемент, расположенный в указанной позиции этого Vector. |
int |
hashCode() |
Возвращает значение хеш-кода этого Vector. |
int |
indexOf |
Возвращает индекс первого вхождения указанного элемента в этот вектор или -1, если вектор не содержит этот элемент. |
int |
indexOf |
Возвращает индекс первого вхождения указанного элемента в этот вектор при поиске вперёд от index или -1, если элемент не найден. |
void |
insertElementAt |
Вставляет указанный объект в качестве компонента этого вектора в указанную позицию index. |
boolean |
isEmpty() |
Проверяет, не содержит ли этот вектор компонентов. |
Iterator |
iterator() |
Возвращает итератор элементов этого списка в надлежащем порядке. |
E |
lastElement() |
Возвращает последний компонент вектора. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанного элемента в этот вектор или -1, если вектор не содержит этот элемент. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанного элемента в этот вектор при поиске назад от index или -1, если элемент не найден. |
ListIterator |
listIterator() |
Возвращает итератор списка для элементов этого списка (в надлежащем порядке). |
ListIterator |
listIterator |
Возвращает итератор списка для элементов этого списка (в надлежащем порядке), начиная с указанной позиции в списке. |
E |
remove |
Удаляет элемент, расположенный в указанной позиции этого Vector. |
boolean |
remove |
Удаляет первое вхождение указанного элемента в этот Vector. Если Vector не содержит этот элемент, он остаётся неизменным. |
boolean |
removeAll |
Удаляет из этого Vector все элементы, содержащиеся в указанной Collection. |
void |
removeAllElements() |
Удаляет все компоненты этого вектора и устанавливает его размер равным нулю. |
boolean |
removeElement |
Удаляет из этого вектора первое (с наименьшим индексом) вхождение аргумента. |
void |
removeElementAt |
Удаляет компонент с указанным индексом. |
boolean |
removeIf |
Удаляет все элементы коллекции, удовлетворяющие заданному предикату (необязательная операция). |
protected void |
removeRange |
Удаляет из этого списка все элементы с индексами от fromIndex включительно до toIndex не включительно. |
void |
replaceAll |
Заменяет каждый элемент этого списка результатом применения оператора к этому элементу (необязательная операция). |
boolean |
retainAll |
Оставляет в этом Vector только элементы, содержащиеся в указанной Collection. |
E |
set |
Заменяет элемент, расположенный в указанной позиции этого Vector, указанным элементом. |
void |
setElementAt |
Устанавливает указанный объект в качестве компонента этого вектора в позиции index. |
void |
setSize |
Устанавливает размер этого вектора. |
int |
size() |
Возвращает количество компонентов в этом векторе. |
Spliterator |
spliterator() |
Создаёт поздно связываемый и fail-fast Spliterator для элементов этого списка. |
List |
subList |
Возвращает представление части этого List между fromIndex включительно и toIndex не включительно. |
Object[] |
toArray() |
Возвращает массив, содержащий все элементы этого Vector в надлежащем порядке. |
<T> T[] |
toArray |
Возвращает массив, содержащий все элементы этого 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 |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе Collection
parallelStream, stream, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
default Stream |
parallelStream() |
Возвращает, возможно, параллельный Stream, источником которого является эта коллекция. |
default Stream |
stream() |
Возвращает последовательный Stream, источником которого является эта коллекция. |
default <T> T[] |
toArray |
Возвращает массив со всеми элементами этой коллекции, используя предоставленную функцию generator для создания возвращаемого массива. |
Методы, объявленные в интерфейсе List
addFirst, addLast, getFirst, getLast, removeFirst, removeLast, reversed, sort | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
addFirst |
Добавляет элемент в начало этой коллекции (необязательная операция). |
default void |
addLast |
Добавляет элемент в конец этой коллекции (необязательная операция). |
default E |
getFirst() |
Возвращает первый элемент этой коллекции. |
default E |
getLast() |
Возвращает последний элемент этой коллекции. |
default E |
removeFirst() |
Удаляет и возвращает первый элемент этой коллекции (необязательная операция). |
default E |
removeLast() |
Удаляет и возвращает последний элемент этой коллекции (необязательная операция). |
default List |
reversed() |
Возвращает представление этой коллекции в обратном порядке. |
default void |
sort |
Сортирует этот список в соответствии с порядком, задаваемым указанным Comparator (необязательная операция). |
Подробное описание конструкторов
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.