Stack — подкласс класса Vector, который реализует простой механизм типа "последний вошел - первый вышел" (LIFO). В дополнение к стандартным методам своего родительского класса, Stack предлагает наличие своих методов:
Стандартный класс java.util.Stack не рекомендуется использовать, он сохранён только для обратной совместимости. В первой версии Java в реализации Stack допущены ошибки, например:
Stack — конкретный класс, в отличие от остальных базовых коллекций, которые представлены интерфейсами: Set, List, Queue;
класс наследуется от Vector, что концептуально неверно (поддерживаются лишние операции)
Более полный и согласованный набор LIFO операций предоставляется через интерфейс Deque и его реализации, которые должны использоваться вместо этого класса: