java集合之Deque

Deque是一个线性集合,是集合框架中的queue下的一个分支,它支持在队列两端进行操作,所以也叫双端队列,大多数Deque实现对它们可能包含的元素的数量没有固定的限制,但是这个接口支持容量限制
此接口定义了从队列两端操作元素的方法,提供了插入、删除和检查元素的方法。这些方法都有两种形式:一种是在操作失败时抛出异常,另一个是返回一个特殊值(null或false,取决于操作)。
双端队列比较灵活,那么我们也可以只将它当作单向队列来使用,还可以当成栈使用
在这里插入图片描述
在这里插入图片描述
boolean add(E e)
将指定的元素插入队列中(换句话说,在deque的尾部),成功时返回true,当前没有可用空间时抛出异常
boolean addAll(Collection<? extends E> c)
在集合的末尾添加指定集合中的所有元素,就像在每个元素上调用addLast (E)
void addFirst(E e)
在队列头部插入指定的元素,如果当前没有可用空间,则抛出异常
void addLast(E e)
在队列尾部插入指定的元素,如果当前没有可用空间,则抛出异常
boolean contains(Object o)
判断队列是否包含指定元素
E element()
检索但不删除队列头(换句话说,队列的第一个元素)
E getFirst()
检索但不删除队列第一个元素
E getLast()
检索但不删除队列最后一个元素
Iterator iterator()
返回一个包含队列元素的迭代器
boolean offer(E e)
在不违反容量限制的情况下将指定的元素插入队列的尾部,成功时返回true,如果当前没有可用的空间,则返回false
boolean offerFirst(E e)
在不违反容量限制的情况下将指定的元素插入队列的头部
boolean offerLast(E e)
在不违反容量限制的情况下将指定的元素插入队列的尾部
E peek()
检索但不删除队列头,如果队列为空,则返回null
E peekFirst()
检索但不删除队列头,如果队列为空,则返回null
E peekLast()
检索但不删除队列的尾,如果队列为空,则返回null
E poll()
检索并删除队列头,如果队列为空,则返回null
E pollFirst()
检索并删除队列头,如果队列为空,则返回null
E pollLast()
检索并删除队列尾,如果队列为空,则返回null
E pop()
弹出一个元素(因为它也可以当作栈使用)
void push(E e)
在不违反容量限制的情况下将一个元素推到该队列表示的堆栈上(换句话说,在队列的头),如果当前没有可用空间,则抛出异常
E remove()
检索并删除队列的头
boolean remove(Object o)
从队列中删除第一次出现的指定元素
E removeFirst()
检索并删除队列的头
boolean removeFirstOccurrence(Object o)
从队列中删除第一次出现的指定元素
E removeLast()
检索并删除队列的最后一个元素
boolean removeLastOccurrence(Object o)
从队列中删除最后一次出现的指定元素
default Deque reversed()
将队列中的元素逆序
int size()
返回队列中的元素数量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值