你要的栈、队列、deque,看这个就行

Deque:双端队列

队列(FIFO 先进先出):queue

stack:栈(FILO 先进后出)


方法 解释 异常
push 向栈顶添加 失败抛异常
pop 获取并删除栈顶数据 失败抛异常
peek 查看栈顶 失败抛异常

  • 队列:queue

    • 示意图
      示意图
    方法 解释 异常
    add 队尾增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常
    offer 队尾添加 若队列满了,直接返回false
    element 查看队首元素 如果队列为空,则抛出一个NoSuchElementException异常
    peek 查看队首元素 队列为空,返回null
    remove 移除并返回队首元素 若队列为空,跑出异常
    poll 移除并返回队首元素 若队列为空,返回null

offer,add 区别
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。
这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。

poll,remove 区别
remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似, 但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。

peek,element区别
element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章