Класс Stack<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.Vector<E>
-
- java.util.Stack<E>
- Все реализованные интерфейсы:
- Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
public class Stack<E> extends Vector<E>
Класс Stack представляет собой стек объектов с принципом «последним вошел — первым вышел» (LIFO). Он расширяет класс Vector с пятью операциями, которые позволяют рассматривать вектор как стек. Предоставляются обычные операции push и pop, а также метод для peek верхнего элемента стека, метод для проверки, является ли стек empty, и метод для search элемента в стеке и определения его позиции от вершины.
При первом создании стек не содержит элементов.
Более полный и согласованный набор операций стека LIFO предоставляется интерфейсом Deque и его реализациями, которые следует использовать вместо этого класса. Например:
Deque<Integer> stack = new ArrayDeque<Integer>();
- С тех пор:
- JDK1.0
- См. также:
- Сериализованная форма
Поля
Поля, унаследованные от класса java.util.Vector
capacityIncrement, elementCount, elementData
Поля, унаследованные от класса java.util.AbstractList
modCount
Конструкторы
| Конструктор и описание |
|---|
Stack() Создает пустой стек. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
empty() Проверяет, пуст ли этот стек. |
E |
peek() Возвращает объект вверху стека, не удаляя его из стека. |
E |
pop() Удаляет объект вверху стека и возвращает его как результат. |
E |
push(E item) Помещает элемент вверху стека. |
int |
search(Object o) Возвращает 1-основанную позицию элемента в стеке. |
Методы, унаследованные от класса java.util.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, sort, spliterator, subList, toArray, toArray, toString, trimToSize
Методы, унаследованные от класса java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Методы, унаследованные от интерфейса java.util.Collection
parallelStream, stream
Конструкторы
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. Используется метод equals для сравнения o с элементами стека.
- Параметры:
-
o- искомый объект. - Возвращает:
- 1-основанная позиция элемента в стеке; значение
-1указывает, что объект отсутствует в стеке.
© 1993, 2020, 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.