美文网首页
Java集合框架(六)Deque接口

Java集合框架(六)Deque接口

作者: 清风流苏 | 来源:发表于2016-05-10 13:25 被阅读723次

Deque表示双端队列。双端队列是在两端都可以进行插入和删除的队列。Deque是一个比StackQueue功能更强大的接口,它同时实现了栈和队列的功能。ArrayDequeLinkeList实现了Deque接口。

注意:Deque既可以用作后进先出的栈,也可以用作先进先出的队列。

Deque接口定义如下:

public interface Deque<E> extends Queue<E> {
    // *** Deque methods ***
    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);
    
    // *** Queue methods ***
    boolean add(E e);
    boolean offer(E e);
    E remove();        
    E poll();
    E element();
    E peek();
    
    // *** Stack methods ***
    void push(E e);
    E pop();

    // *** Collection methods ***
    boolean remove(Object o);
    boolean contains(Object o);
    public int size();
    Iterator<E> iterator();
    Iterator<E> descendingIterator();
}

双端队列方法

双端队列方法

插入

addFirstofferFirstDeque实例头部插入元素。
addLastofferLastDeque实例尾部插入元素。
Deque实现类为有限容量时,优先使用offerFirstofferLast,因为addFirst在队列满的时候可能会插入失败而抛出异常。

删除

removeFirstpollFirstDeque实例头部移除元素。
removeLastpollLastDeque实例尾部移除元素。
Deque为空时,pollFirstpollLast将会返回null,而removeFirstremoveLast将会抛出异常。

检索

getFirstpeekFirst获取Deque实例的第一个元素,但是不会将元素从Deque实例中删除。类似地,getLastpeekLast获取最后一个元素。当Deque为空时,getFirstgetLast将会抛出异常,而peekFirstpeekLast将会返回null

除了基本的插入、删除和检索方法外,还有两个预定义的方法:removeFirstOccurenceremoveLastOccurence。这两个方法见名知意。返回true的时候表示元素存在于队列,并且已经被删除。返回false时表示元素不存在于队列中,并且队列没有改变。

相关文章

  • Java集合框架(六)Deque接口

    Deque表示双端队列。双端队列是在两端都可以进行插入和删除的队列。Deque是一个比Stack和Queue功能更...

  • Java 集合框架(Deque 接口)

    Deque 接口简介 对于 Deque 接口,Java的官方文档这样提到: Usually pronounced ...

  • Java 集合

    1 java集合的接口框架集合的接口框架 Java集合分为Collections和Map两大种。 2 Colle...

  • 集合

    集合 Java集合框架 将集合的接口和实现分离 Collection接口 迭代器 泛型使用方法 集合框架中的接口 ...

  • java集合框架知识点

    java集合框架的知识点接口 集合 元素 java key 阅读2771Java集合框架作为Java编程语言的基础...

  • 0730课程总结

    Java集合框架 Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述...

  • Java 集合框架分析

    Java 集合框架 包括Collection接口 和Map 接口 Collection集合 Set List Qu...

  • java集合相关学习

    java集合框架解读 Java集合框架继承Collection和map两个接口,Collection的子类有Lis...

  • java.util.Collection

    super interfaces:java.util.Iterable Collection接口是java集合框架...

  • Java 为什么要有接口? Interface

    我好像知道java为什么要有接口了 我们以java 集合框架为例Java集合类图框架.jpg 其中Collecti...

网友评论

      本文标题:Java集合框架(六)Deque接口

      本文链接:https://www.haomeiwen.com/subject/ufqerttx.html