8、Deque

来源:互联网 发布:修图师需要学什么软件 编辑:程序博客网 时间:2024/05/18 19:44

Deque简介

Deque是Queue的子接口,我们知道Queue是一种队列形式,而Deque则是双向队列,它支持从两个端点方向检索和插入元素,因此Deque既可以支持LIFO形式也可以支持LIFO形式.Deque接口是一种比Stack和Vector更为丰富的抽象数据形式,因为它同时实现了以上两者.

Deque接口定义

Deque接口定义了在两端访问元素的方法,主要包括insert、remove和examine。和Queue定义一样,所有这些方法存在两种形式:一种如果操作失败则抛出异常,另一种则返回一个特殊值(null或false)。后者主要是为有容量限制的队列实现的。

Deque可以当作栈来使用。

当deque用作queue时,则表现出FIFO的行为,元素从队尾加入,在队首移除,从Queue接口继承来的方法和Deque中的一些方法等同

Deque也可以被用作LIFO的栈,此时的接口应该严格参照Stack类的实现。当deque被用作栈时,元素在deque的head端push/pop。

主要方法

修饰符和返回值 方法名 描述    添加功能void    push(E) 向队列头部插入一个元素,失败时抛出异常 void    addFirst(E) 向队列头部插入一个元素,失败时抛出异常void    addLast(E)  向队列尾部插入一个元素,失败时抛出异常boolean     offerFirst(E)   向队列头部加入一个元素,失败时返回falseboolean     offerLast(E)    向队列尾部加入一个元素,失败时返回false获取功能E   getFirst()  获取队列头部元素,队列为空时抛出异常E   getLast()   获取队列尾部元素,队列为空时抛出异常E   peekFirst() 获取队列头部元素,队列为空时返回nullE   peekLast()  获取队列尾部元素,队列为空时返回null删除功能boolean removeFirstOccurrence(Object)   删除第一次出现的指定元素,不存在时返回falseboolean     removeLastOccurrence(Object)    删除最后一次出现的指定元素,不存在时返回false弹出功能E   pop()   弹出队列头部元素,队列为空时抛出异常E   removeFirst()   弹出队列头部元素,队列为空时抛出异常E   removeLast()    弹出队列尾部元素,队列为空时抛出异常E   pollFirst() 弹出队列头部元素,队列为空时返回null E   pollLast()  弹出队列尾部元素,队列为空时返回null 迭代器Iterator<E> descendingIterator()    返回队列反向迭代器
原创粉丝点击