队列和栈

队列(Queue):是常用的数据结构,可以看成特殊的线性表。

队列限制了对线性表的访问方式:只能从线性表的一端添加(offer)元素,从另一端取出(poll)元素。

1)队列遵循先进先出的原则:队列不支持插队。

2)JDK中实现了Queue接口同时使LinkList实现该接口(因为queue经常执行删除和插入操作)

3)常用方法:boolean off(E e)   将一个对象添到队尾,成功则返回false

poll()从队列中取出元素,取得是最早的offer元素,从队列中取出该元素后,该元素会从队列中删除,若方法返回null则证明 队列中没有元素了

peek()获取队首的元素(不删除)

栈(Deque)是常用的数据结构,是Queue的子接口,因此LinkList也实现了Deque接口。栈将双端队列限制为只能从一端入队和出队,对栈而言就是出栈和入栈。

子弹夹是就是一种栈结构

常用方法: push:压入 向栈中存入数据

pop:弹出:从栈中取出数据

peek:获取栈顶位置的元素,但是不取出

注意:在使用pop获取元素时,应该先使用peek获取栈顶元素,在确定栈顶元素不为null时才能用pop获取。否则会报异常

 

原文地址:https://www.cnblogs.com/zjf6666/p/6490725.html