一个栈(Stack)是Vector类的子类,它代表了一个后进先出(LIFO)的对象堆栈。最后一个添加到堆栈顶部的元素(In)可以是从堆栈中首先移除的元素(Out)。
队列(Queue)类扩展了Collection接口,并支持使用先进先出(FIFO)的插入和删除操作。我们也可以在下面的程序中使用队列来实现栈。
示例
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("An element removed from a stack is: " + 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]
An element removed from a stack is: 40
[30, 20, 10]
登录后复制
以上就是我们如何在Java中使用队列实现栈?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!