由于最近刷算法,遇到的各种题解,导致混淆了队列和栈的相关操作,下面详细的整理一下
Queue集合(模拟队列):
Queue用于模拟队列,队列是一种先进行出的数据结构。(以TreeNode类型为例子)
//定义一个队列
Queue<TreeNode> queue=new LinkedList<>();
void add(Object e):将指定元素加入此队列的尾部
Object element():获取列队头部的元素,但是不删除该元素
boolean offer(Object e):将指定元素加入该队列的尾部
Object peek():获取队列头部的元素,但是不删除该元素,如果此队列为空,则返回null
Object poll():获取队列头部的元素,并删除该元素,如果此队列为空,则返回null
栈:
Stack用来模拟栈。(以TreeNode类型为例子)
//定义一个栈
Stack<TreeNode> stack=new Stack<>();
void push(E):入栈
E pop():返回栈顶元素 出栈
E peek():读取栈顶元素
int getSize()
boolean isEmpty