public interface Queue<E> extends Collection<E> {//队列 JDK1.7 java.util
//一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。此时add会抛出异常;offer会返回false
boolean add(E e);//将指定的元素插入此队列
boolean offer(E e);//将指定的元素插入此队列
E remove();//获取并移除此队列的头;如果此队列为空,则抛出异常。
E poll();//获取并移除此队列的头,如果此队列为空,则返回 null。
E element();//获取,但是不移除此队列的头;如果此队列为空,则抛出异常。
E peek();//获取但不移除此队列的头;如果此队列为空,则返回 null。
}
public interface Deque<E> extends Queue<E> {//继承自Queue接口并进行扩展,支持双端操作
void addFirst(E e);//将指定元素插入此双端队列的开头。如果此队列有容量限制且当前没有可用空间,则抛出异常
void addLast(E e);//将指定元素插入此双端队列的末尾。如果此队列有容量限制且当前没有可用空间,则抛出异常
boolean offerFirst(E e);//将指定的元素插入此双端队列的开头。如果此队列有容量限制且当前没有可用空间,false
boolean offerLast(E e);//将指定的元素插入此双端队列的末尾。如果此队列有容量限制且当前没有可用空间,false
E removeFirst();//获取并移除此双端队列第一个元素;如果此队列为空,则抛出异常。
E removeLast();//获取并移除此双端队列最后一个元素;如果此队列为空,则抛出异常。
E pollFirst();//获取并移除此双端队列第一个元素;如果此队列为空,则返回 null。
E pollLast();//获取并移除此双端队列最后一个元素;如果此队列为空,则返回 null。
E getFirst();//获取但不移除此队列的头;如果此队列为空,则抛出异常。
E getLast();//获取但不移除此双端队列最后一个元素;如果此队列为空,则抛出异常
E peekFirst();//获取但不移除此队列的头;如果此队列为空,则返回 null。
E peekLast();//获取但不移除此队列的头;如果此队列为空,则返回 null。
boolean removeFirstOccurrence(Object o);//从此双端队列移除第一次出现的指定元素。如果此双端队列不包含该元素,则不作更改
boolean removeLastOccurrence(Object o);//从此双端队列移除最后一次出现的指定元素。如果此双端队列不包含该元素,则不作更改
boolean add(E e);//等效于addLast
boolean offer(E e);//等效于offerLast
E remove();//等效于 removeFirst()。
E poll();//此方法等效于 pollFirst()。
E element();//此方法等效于 getFirst()。
E peek();//此方法等效于 peekFirst()。
void push(E e);//此方法等效于 addFirst(E)。
E pop();//此方法等效于 removeFirst()。
boolean remove(Object o);//此方法等效于 removeFirstOccurrence(java.lang.Object)。
boolean contains(Object o);//如果此双端队列包含指定元素,则返回 true
public int size();//返回此双端队列的元素数。
Iterator<E> iterator();//返回以恰当顺序在此双端队列的元素上进行迭代的迭代器
Iterator<E> descendingIterator();//返回以逆向顺序在此双端队列的元素上进行迭代的迭代器
}
Java集合之Queue和Deque接口
最新推荐文章于 2022-11-16 10:01:17 发布