队列:只允许在一端插入数据操作,在另一端进行删除数据操作的特殊线性表;进行插入操作的一端称为队尾(入队列),进行删除操作的一端称为队头(出队列);队列具有先进先出(FIFO)的特性。
栈:只允许在一端数据操作,栈具有先进后出的特性。
java 创建队列
Queue<Integer> Q = new LinkedList<>();
Q.offer(1);//队列插入数据(在队尾添加数据)
Q.offer(2);
int data = Q.peek();//获取对头元素
System.out.println(Q.size());//获取队列中元素数量
Q.poll();//检索并删除此队列的头,如果此队列为空,则返回 null 。
java 创建栈
Stack<Integer> S = new Stack<>();
S.push(1);
S.push(2);
S.peek();//获取栈顶元素
S.pop();//删除栈顶元素
System.out.println(S.empty());//判断栈是否为空