English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Aстека является подклассомвектор классы и они представляютLIFO (Last In, First Out)объектов стека. Последний элемент, добавленный в вершину стека (In), может быть первым элементом, удаляемым из стека (Out).
Aконтейнер расширение классаколлекции интерфейс и поддерживаемыевставки иудаления Используемые операции ФIFO (First In, First Out) Мы можем использовать Queue для реализации Stack в следующей программе.
import java.util.*; public class StackFromQueueTest { Queue queue = new LinkedList(); public void push(int value) { int queueSize = queue.size(); queue.add(value); for (int i = 0; i < queueSize; i++) { queue.add(queue.remove()); } } public void pop() { System.out.println("Элемент, удаленный из стека: " + queue.remove()); } public static void main(String[] args) { StackFromQueueTest test = new StackFromQueueTest(); test.push(10); test.push(20); test.push(30); test.push(40); System.out.println(test.queue); test.pop(); System.out.println(test.queue); } }
Результат вывода
[40, 30, 20, 10]Элемент, удаленный из стека: 40[30, 20, 10]