定义
栈:如果将双端队列Deque限制为只能一端入队和出队,则可以实现“栈”(Stack)的数据结构。
对于栈而言,入栈被称为push,出栈被称为pop。遵循先进后出(FILO)的原则
应用
import java.util.Deque;
import java.util.LinkedList;
public class StackDemo {
public static void main(String[] args) {
// 定义一个栈stack
Deque<String> stack = new LinkedList<String>();
/*
* boolean empty() 测试此堆栈是否为空
*/
boolean b = stack.isEmpty();
System.out.println("堆栈是否为空:"+b);//输出:true
/*
* E push(E item) 将对象推送到此堆栈的顶部。
* (进栈)
*/
stack.push("aa");
stack.push("bb");
stack.push("cc");
System.out.println("堆栈stack:"+stack);//输出:堆栈stack:[cc, bb, aa]
/*
* E peek() 查看此堆栈顶部的对象,而不从堆栈中删除它。
*/
//查看堆栈顶部的对象
System.out.println("堆栈顶部的对象:"+stack.peek());//输出:cc
/*
* E pop() 删除此堆栈顶部的对象,并将该对象作为此函数的值返回。
* (出栈)
*/
//删除堆栈顶部的对象
System.out.println("删除堆栈顶部的对象:"+stack.pop());//输出:cc
System.out.println(stack);//输出:[bb, aa]
}
}