閱讀時間: 15分鐘

在電腦科學中, dequeue是指a double-ended queue(雙向佇列),一般簡寫為deque,讀音是 deck)。

Dequeue是一種抽象資料型態,dequeue中的每個元素都可以在佇列中的頭部(左邊)或者在尾部(右邊)的位置進行任何元素的新增移除。

java.util.Deque interface 是 java.util.Queue interface 的一個子類別。

Deque 的運行速度比 Stack 和 LinkedList更快。

以下是有關Deque的等級制度 (Hierarchy)

Deque 界面可以被不同類別的集合實作包括LinkedList 、 ArrayDeque 類。

可以用以下方式宣告與實體化:

Deque deque = new LinkedList<>();

或者

Deque deque = new ArrayDeque<>();

Deque 有下列特色

第一

可以修改array的大小

第二

無限制array的長度

第三

禁止Null 的元素

**第四 **

不是 thread-safe.

所以多個thread同時存取是不支持的

Deque的method

add(element):

在尾部加入元素。

addFirst(element):

在頭部加入元素。

addLast(element):

在尾部加入元素。

offer(element):

在尾部加入元素,同時也返回一個boolean值來表示是否成功加入元素。

offerFirst(element):

在頭部加入元素,同時也返回一個boolean值來表示是否成功加入元素。

offerLast(element):

在尾部加入元素,同時也返回一個boolean值來表示是否成功加入元素。

iterator():

返回Deque的所有元素。

descendingIterator():

以相反的排序方式返回Deque的所有元素。

push(element):

在頭部加入元素。

pop(element):

刪除在頭部元素,同時返回被刪除元素。

removeFirst():

刪除在頭部元素。

removeLast():

刪除在尾部元素。

poll():

刪除在頭部元素,或者返回Null值假如是空的Aarray。

pollFirst():

刪除在頭部元素,或者返回Null值假如是空的Aarray。

pollLast():

刪除在尾部元素,或者返回Null值假如是空的Aarray。

peek():

搜索及返回在頭部元素,或者返回Null值假如是空的Aarray。

peekFirst():

搜索及返回在頭部元素,或者返回Null值假如是空的Aarray。

peekLast():

搜索及返回在尾部元素,或者返回Null值假如是空的Aarray。

java deque.pop_Java - dequeue的介紹及用法相关推荐

  1. java deque.pop_Java ArrayDeque pop()方法

    Java ArrayDeque pop()方法 java.util.ArrayDeque.pop() 此方法从此双端队列表示的堆栈中弹出一个元素. 1 语法 public E pop() 2 参数 无 ...

  2. 介紹 Java 平台的 Jazzy:一種新的拼寫檢查器 APIzzzz

    對於包含自然語言文件輸入的應用程式,使用者期望它具備拼寫檢查功能.因為從頭開始建構一個拼寫檢查器不是一項簡單的任務,所以這篇文章為您提供一個使用 Jazzy 的工作區.Jazzy 是一個開放原始程式碼 ...

  3. JS---Cookies完整介紹 申精!

    Cookies現在經常被大家提到,那麼到底什麼是Cookies,它有什麼作用呢?Cookies是一種能夠讓網站伺服器把少量數據儲存到用戶端的硬碟或記憶體,或是從用戶端的硬碟讀取數據的一種技術. Coo ...

  4. telnet/ftp/netstat/ping命令詳細介紹

     很多朋友问到telnet/ftp/netstat/ping 命令的使用方法 今天我就抽点时间做个telnet/ftp/netstat/ping 命令一詳細介紹! 请入门者静下心来.......... ...

  5. mysql中merge的用法_mysql中merge表存儲引擎用法介紹

    mysql中merge表存儲引擎用法介紹: mysql的merge引擎類型允許你把許多結構相同的表合並為一個表.然后,你可以執行查詢,從多個表返回的結果就像從一個表返回的結果一樣.每一個合並的表必須有 ...

  6. matlab engevalstring,Matlab 執行engEvalString命令介紹 | 學步園

    MATLAB與VC混合編程指導書 在調用 Matlab 引擎之前,首先應在相關文件中加入一行: #include "enging.h" ,該文件包含了引擎 API 函數的說明和所需 ...

  7. wpbakery Visual Composer - web网页可视化 编辑器 介紹

    wpbakery  Visual Composer web网页可视化 编辑器 介紹 近日在做關鍵字研究時,無意間發現到這篇文章,放棄 WordPress 選用 Joomla! CMS 的5個理由.內容 ...

  8. 我推崇的流行唱法:美國Speech Level Singing的介紹和討論(推荐)

    Speech Level Singing 是近年來在美國很流行的一種聲樂教法.創始人Seth Riggs 原本是唱歌劇的,因為不滿意美國現在的聲樂教育而自創了一套練習方法,結果桃李滿天下(在美國,歐洲 ...

  9. 第一集 DLNA 白話文介紹

    今天和大家分享 DLNA 這個東東.DLNA 的全名是  Digital Living Network Alliance ,聽名字一點都不酷,這也是開放式標準的悲哀,常常缺乏一個響亮好記的商業口號來推 ...

最新文章

  1. go 切片取最后一个元素_深挖 Go 之 forrange 排坑指南
  2. Mybatis多参数封装到一个类中模糊查询
  3. 第二章 Python基本元素:数字、字符串和变量
  4. 8年前,被董明珠痛批卖米粉的北大硕士,如今怎么样了?
  5. rollback 最后判断成功_最后4天!这些你知道吗?
  6. 静态的通讯录(C语言)
  7. Python实现共现语义网络
  8. 十天学会php chm,【div+css】十天学会div+css---第一天_html/css_WEB-ITnose
  9. 苍井空老师的Twitter
  10. 350网店模板一键安装模版与淘宝传统装修的对比
  11. JavaScript模块化编程(CommonJS篇)
  12. 统计推断—参数估计—点估计、区间估计、t分布、Z分布
  13. 四位共阳极数码管显示函数_74hc573可以驱动几位共阴数码管?74hc573驱动数码管应用解析...
  14. 研究生复试------12 学做菜
  15. 浏览器缓存机制 过期机制和验证机制
  16. 汇编-栈帧-寄存器esp, ebp
  17. 微信小程序(7)说说微信小程序的发布流程?
  18. 当display:flex弹性布局与position:absolute/fixed定位一起用,会出现的问题与解决方法
  19. 怎么检测计算机硬件好坏,鲁大师如何检测硬件好坏?硬件好坏检测方法介绍
  20. PTA 天梯赛的善良(20分)[C语言]

热门文章

  1. 基于JAVA+SpringBoot+Mybatis+MYSQL的婚纱影楼摄影网站
  2. wordpress linux伪静态,nginx下wordpress伪静态设置
  3. 感悟----程序员需要养成的习惯
  4. 使用java理解程序逻辑(16)
  5. 第八周总结与软考前任务安排
  6. 线性表7 - 数据结构和算法12
  7. 敏捷开发用户故事系列之一:何为用户故事
  8. SQL数据库语言基础之SqlServer数据库原理与设计课程期末复习-条件查询实例练习【学生表、选课表、家庭作业表】
  9. 大学计算机课作业新建文档,重庆大学2020年春季学期课程作业计算机组成原理.docx...
  10. Pandas创建DataFrame对象的几种常用方法