1、特點:
2、主要實現:
3、關係圖:
public inte***ce queueextends collection
複製**
一般peek、poll、offer方法跟其他類似方法的區別在於為空會返回null
1、特點:
2、介面原始碼:
public inte***ce dequeextends queue
複製**
提供了在兩端移除、新增的相關方法
雙端佇列
1、變數:
public class arraydequeextends abstractcollectionimplements deque, cloneable, serializable
複製**
2、構造:
/**
* 無參構造,預設大小為16
*/public arraydeque
() /**
* @param numelements 初始容量
*/public arraydeque(int numelements)
/** * 傳入乙個集合
* @param c
*/public arraydeque(collection<? extends e> c)
複製**
獲取初始容量,並建立陣列
private void allocateelements(int numelements)
elements = new object[initialcapacity];
}複製**
3、新增元素
新增元素都是從佇列的尾部新增,如果呼叫addfirst,就是將索引為0作為隊首,需要從length-1的位置(隊尾)開始新增。如果addlast,則索引為0作為隊尾。
public void addfirst(e e)
//如果將1-8的元素依次通過addfirst新增到佇列中,此時head是從7到0,最終的順序為[8,7,6,5,4,3,2,1]。
public void addlast(e e)
//如果將1-8的元素依次通過addlast新增到佇列中,此時tail從1到8,最終的順序為[1,2,3,4,5,6,7,8]
//將容量擴大到2倍,然後元素複製到新陣列
private void doublecapacity
() 複製**
4、刪除元素:
刪除元素時在隊首刪除,removefirst時隊首在前(索引為head)開始刪,removelast時隊首在後(索引為tail)處開始刪。
public e removefirst
() public e removelast
() public e pollfirst
() return result;
}public e polllast
() return result;
}複製**
5、獲取元素:
public e getfirst
() public e getlast
() 複製**
資料結構(四)佇列
1 特點 2 主要實現 public inte ce queueextends collection一般peek poll offer方法跟其他類似方法的區別在於為空會返回null 1 特點 2 介面原始碼 public inte ce dequeextends queue提供了在兩端移除 新增的相...
RabbitMQ(四)佇列結構
一 佇列結構 通常佇列由兩部分組成 1 amqqueue,負責amqp協議相關的訊息處理,即接收生產者發布的訊息 向消費者投遞訊息 處理訊息confirm acknowledge等等 2 backingqueue,它提供了相關的介面供amqqueue呼叫,完成訊息的儲存以及可能的持久化工作等。bac...
專案四 佇列陣列
問題及 2015,煙台大學計算機與控制工程學院 完成日期 2015年10月14日 問題描述 建立10個佇列,分別編號為0 9 處理為佇列陣列,編號即下標 輸入若干個正整數,以數字0作為結束。設輸入的值為x,其個位數字的大小為i,則將x插入到編號為i的佇列中。最後輸出所有的非空佇列。要求將佇列處理成鏈...