您的位置:首页 > 编程语言 > Java开发

JDK源码阅读之Queue接口和Deque接口

2014-03-27 17:45 387 查看
Queue 除了基本的
Collection
操作外,还提供其他的插入、提取和检查操作。每个方法都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null 或
false,具体取决于操作)。插入操作的后一种形式是用于专门为有容量限制的 Queue 实现设计的。

Deque支持在两端插入和移除元素。大多数 Deque 实现对于它们能够包含的元素数没有固定限制,但此接口既支持有容量限制的双端队列,也支持没有固定大小限制的双端队列。

//继承于Collection接口
public interface Queue<E> extends Collection<E> {
boolean add(E e);//添加元素,如果空间有限制,则抛出异常
boolean offer(E e);//添加元素,如果空间有限制,不会抛出异常
E remove();//获取并移除队列头元素
E poll();//移除队列头部元素
E element();//获取元素,但不移除元素
E peek();//获取元素
}
//继承了Queue接口
public interface Deque<E> extends Queue<E> {
    void addFirst(E e);//头部添加元素,如果容量有限值,添加失败时,抛出异常
    void addLast(E e);//尾部添加元素,如果容量有限制,添加失败时,抛出异常
    boolean offerFirst(E e);//头部添加元素,如果添加失败,不抛出异常
    boolean offerLast(E e);//头部添加元素,如果添加失败,则不抛出异常
    E removeFirst();//获取并移除队列头元素
    E removeLast();//获取并移除队列尾元素
    E pollFirst();//获取并移除队列头元素
    E pollLast();//获取并移除队列尾元素
    E getFirst();//获取队列头元素
    E getLast();//获取队列尾元素
    E peekFirst();//获取头部元素
    E peekLast();//获取尾部元素
    boolean removeFirstOccurrence(Object o);//从此双端队列移除第一次出现的指定元素。
    boolean removeLastOccurrence(Object o);//从此双端队列移除最后一次出现的指定元素。
    boolean add(E e);//添加元素到尾部,超过容量限制,抛出异常
    boolean offer(E e);//添加元素到尾部,超过容量限制,不抛出异常
    E remove();//获取并移除队列头元素
    E poll();//获取并移除队列头元素
    E element();//获取元素,并不删除元素
    E peek();//获取元素
    void push(E e);//压入元素
    E pop();//弹出元素
    boolean remove(Object o);//从队列移除第一次出现的元素o
    boolean contains(Object o);//判断是否有元素o
    public int size();//返回队列的长度
    Iterator<E> iterator();
    Iterator<E> descendingIterator();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息