问题
Deque是Queue的子接口,定义了所谓“双端队列”即从队列的两端分别可以入队(offer)和出队(poll),LinkedList实现了该接口。如果将Deque限制为只能从一端入队和出队,则可实现“栈”(Stack)的数据结构,对于栈而言,入栈称之为push,出栈称之为pop。栈遵循先进后出(FILO First Input Last Output)的原则。
本案例要求测试Deque的用法,详细要求如下:
1)使用LinkedList构建栈,详细要求如下:
2)获取栈中栈顶元素。
3)从栈顶开始删除元素,直到栈中没有元素为止,并在删除的同时输出删除的栈顶元素。
步骤
实现此案例需要按照如下步骤进行。
步骤一:构建队列
首先,在类TestQueueAndDeque中新建测试方法testStack;然后,使用LinkedList构建栈stack,代码如下所示:
pakcage day04;
import java.util.Deque;
import java.util.LinkedList;
import java.util.Queue;
import org.junit.Test;
public class TestQueueAndDeque {
/**
* 测试Stack的用法
*/
@Test
public void testStack() {
Deque<String> stack = new LinkedList<String>();
}
}
步骤二:向栈中添加元素
使用Deque接口提供的push方法
版权声明:本文为houjunkang363原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。