zoukankan      html  css  js  c++  java
  • Java 集合:(十六) Queue 常用接口:Deque 子接口

    一、Deque 子接口概述

      1、Deque 接口继承自 Queue 接口,表示双端队列(Double-ended queue),同时具备 【队列】和【栈】的性质。

      2、双端队列即意味着此队列可以在头尾都具有入队和出队的功能。

      3、Deque 接口继承自 Queue 接口,可以将 Deque 理解为【双端队列】和【栈(Stack)】的组合。该栈是一个【链式栈】。

      4、一般的队列是从尾部插入元素,头部移除元素;而双端队列则可以分别从两端插入元素、两端移除元素。

    二、Deque 接口结构

      1、Deque 接口声明

    1 public interface Deque<E> extends Queue<E> {}

      2、Deque 的继承结构及其常用子类

        

      3、Deque 接口方法定义

        

         Deque 作为双端队列,其定义的方法可以归纳如下:

      First Element(Head) Last Element(Tail)
      Throw exception Special value Throw exception Special value
    Insert addFirst(e) offerFirst(e) addLast(e) offerLast(e)
    Remove removeFirst() pollFirst() removeLast() pol

         由于 Deque 继承了 Queue 接口,因此 Queue 的方法在 Deque 中也有体现,而且与 Deque 定义的方法存在如下对应关系:

    Queue Method Equivalent Deque Method
    add(e) addLast(e)
    offer(e) offerLast(e)
    remove(e) removeFirst()
    poll(e) pollFirst()
    element() getFirst()
    peek() peekFirst()
     
     
           此外,Deque 还可以作为栈,有关栈的操作和在 Deque 中的对应方法如下:
    Stack Method Equivalent Deque Method
    push(e) addFirst(e)
    pop() removeFirst()
    peek() peekFirst()
     
           Deque 还有几个独有的方法:
     
    removeFirstOccurrence()  从该双端队列中移除第一次出现的指定元素;
    removeLastOccurrence()  从该双端队列中移除最后一次出现的指定元素;
    descendingIterator() 以相反顺序返回此双端队列中元素的迭代器,可以认为是 iterator() 反过来。
    

      

     
  • 相关阅读:
    jQuery之父:每天都写点代码
    XtraTabControl 控件使用
    Linq:使用Take和Skip实现分页
    WCF教程一之WCF是什么,能做什么
    WCF发布后远程访问的域名解析问题
    C# WinForm下,隐藏主窗体,只在进程管理器中显示进程,在任务栏,状态栏都不显示窗体的方法
    在bat脚本写入中文远行后乱码
    VS2010DebugView捕捉
    Web Service 的工作原理
    String.Format 方法
  • 原文地址:https://www.cnblogs.com/niujifei/p/14714706.html
Copyright © 2011-2022 走看看