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()
返回队列中的元素数量
java集合之Deque
于 2024-04-24 07:39:17 首次发布