- Deque是Queue的子接口,定义了“双端队列”即从队列的两端分别可以入队(offer)和出队(poll),LinkedList实现了该接口。
- 如果将Deque限制为只能从一端入队和出队,则可实现“栈”(Stack)的数据结构,对于栈而言,入栈称之为push,出栈称之为pop。
- 栈遵循先进后出(FILO First Input Last Output )的原则。
案例:
@Test
public void stackTest(){
/*
* 测试将Deque 作为Stack使用
*/
Deque<String> stack =
new LinkedList<String>();
//作为"栈"使用,只在一端操作队列
//向栈中"压入push"数据
stack.push("Tom");//1
stack.push("Jerry");//2
stack.push("Andy");//3
stack.push("Lee");//4
System.out.println(stack);
//从栈中"弹出pop"数据
String name = stack.pop();
System.out.println(name);
System.out.println(stack);
}