Java容器|Deque与Queue

Deque是Queue的子接口,它们共同继承于Collection、Iterable。

一、Queue容器(单向队列)

  • 实现类:ArrayDeque、LinkedList、PriorityQueue(优先队列)
  • 队列通常但不一定以 FIFO(先进先出)方式对元素进行排序。 例外情况包括优先级队列,它根据提供的比较器或元素的自然顺序对元素进行排序,以及对元素 LIFO(后进先出)进行排序的 LIFO 队列(或堆栈)。

方法:

方法名方法说明
add(e),offer(e)添加元素
remove(),poll()移除元素
element(),peek()检索头部元素
  • offer(e)会插入一个元素,否则返回false。add(e)抛出未经检查的异常来添加元素失败。

  • remove()和poll()方法仅在队列为空时的行为不同:remove()方法抛出异常,而poll()方法返回null。

  • element()和peek()方法返回但不删除队列的头部,在peek()中,如果此队列为空,则返回null。

二、Deque容器(双端队列) 

  • 实现类:ArrayDeque、LinkedList

  • 支持两端元素插入和移除的线性集合

  • 定义了访问双端队列两端元素的方法。 提供了插入、删除和检查元素的方法。 这些方法中的每一个都以两种形式存在:一种在操作失败时抛出异常,另一种返回特殊值(null或false,具体取决于操作)。

方法:

  • Deque方法的总结

头部操作尾部操作
若失败抛出异常若失败返回null若失败抛出异常若失败返回null
插入元素addFirst(e)offerFirst(e)addLast(e)offerLast(e)
删除元素removeFirst()pollFirst()removeLast()pollLast()
获取元素不删除getFirst()peekFirst()getLast()peekLast()
  • 比较Queue和Deque方法
QueueDeque
add(e)addLast(e)
offer(e)offerLast(e)
remove()removeFirst()
poll()pollFirst()
element()getFirst()
peek()peekFirst()
  • 比较Stack和Deque方法

StackDeque
push(e)addFirst(e)
pop()removeFirst()
peek()peekFirst()

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值