8、Deque

Deque简介

Deque是Queue的子接口,我们知道Queue是一种队列形式,而Deque则是双向队列,它支持从两个端点方向检索和插入元素,因此Deque既可以支持LIFO形式也可以支持LIFO形式.Deque接口是一种比Stack和Vector更为丰富的抽象数据形式,因为它同时实现了以上两者.

Deque接口定义

Deque接口定义了在两端访问元素的方法,主要包括insert、remove和examine。和Queue定义一样,所有这些方法存在两种形式:一种如果操作失败则抛出异常,另一种则返回一个特殊值(null或false)。后者主要是为有容量限制的队列实现的。

Deque可以当作栈来使用。

当deque用作queue时,则表现出FIFO的行为,元素从队尾加入,在队首移除,从Queue接口继承来的方法和Deque中的一些方法等同

Deque也可以被用作LIFO的栈,此时的接口应该严格参照Stack类的实现。当deque被用作栈时,元素在deque的head端push/pop。

主要方法


修饰符和返回值 方法名 描述
    添加功能
void    push(E) 向队列头部插入一个元素,失败时抛出异常 
void    addFirst(E) 向队列头部插入一个元素,失败时抛出异常
void    addLast(E)  向队列尾部插入一个元素,失败时抛出异常
boolean     offerFirst(E)   向队列头部加入一个元素,失败时返回false
boolean     offerLast(E)    向队列尾部加入一个元素,失败时返回false
获取功能
E   getFirst()  获取队列头部元素,队列为空时抛出异常
E   getLast()   获取队列尾部元素,队列为空时抛出异常
E   peekFirst() 获取队列头部元素,队列为空时返回null
E   peekLast()  获取队列尾部元素,队列为空时返回null
删除功能
boolean removeFirstOccurrence(Object)   删除第一次出现的指定元素,不存在时返回false
boolean     removeLastOccurrence(Object)    删除最后一次出现的指定元素,不存在时返回false
弹出功能
E   pop()   弹出队列头部元素,队列为空时抛出异常
E   removeFirst()   弹出队列头部元素,队列为空时抛出异常
E   removeLast()    弹出队列尾部元素,队列为空时抛出异常
E   pollFirst() 弹出队列头部元素,队列为空时返回null 
E   pollLast()  弹出队列尾部元素,队列为空时返回null 
迭代器
Iterator<E> descendingIterator()    返回队列反向迭代器
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值