Java集合之Queue和Deque接口

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();//返回以逆向顺序在此双端队列的元素上进行迭代的迭代器

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值