隊列是一種特殊的線性表,先進先出的數據結構,即隊列有序,它只容許在表的前端(front)進行刪除操做,而在表的後端(rear)進行插入操做。進行插入操做的端稱爲隊尾,進行刪除操做的端稱爲隊頭。隊列中沒有元素時,稱爲空隊列。
前端
還未寫完,晚上繼續寫。java
/** * 將指定的元素插入此隊列可否當即這樣作,在不違反容量限制,返回{@code true}成功和若是沒有目前可用的空間拋出{@code非法狀態異常} * * @param e 被添加的元素 * @return {@code true} 指定的元素被添加到隊列中 * @throws IllegalStateException 若是元素不能被添加在到這個隊列因爲目前沒有可用的空間,拋出IllegalStateException * @throws ClassCastException 若是指定元素的類能夠防止它被添加到此隊列,拋出ClassCastException * @throws NullPointerException 若是指定的元素是null而且此隊列不容許空的元素,拋出NullPointerException * @throws IllegalArgumentException 若是這個元素的一些屬性能夠防止它被添加到此隊列,拋出IllegalArgumentException */
boolean add(E e); 複製代碼
/**
* 將指定的元素插入此隊列可否當即這樣作,在不違反容量限制,返回{@code true}將指定元素添加到隊列成功和若是沒有目前可用的空間{@code false}
*
* @param e 被添加的元素
* @return {@code true} 指定的元素被添加到隊列中,{@code flase} 指定的元素不能被添加到隊列中
* @throws ClassCastException 若是指定元素的類能夠防止它被添加到此隊列,拋出ClassCastException
* @throws NullPointerException 若是指定的元素是null而且此隊列不容許空的元素,拋出NullPointerException
* @throws IllegalArgumentException 若是這個元素的一些屬性能夠防止它被添加到此隊列,拋出IllegalArgumentException
*/
boolean offer(E e);複製代碼
/** * 檢索並刪除此隊列的頭,若是隊列是空的,拋出一個異常 * * @return 隊列的頭元素 * @throws NoSuchElementException 若是隊列是空,調用remove,拋出NoSuchElementException */
E remove();複製代碼
/** * 檢索並刪除此隊列的頭,若是空隊列,返回null * * @return 隊列的頭元素, 或者隊列空,返回null */
E poll();複製代碼
/**
* 檢索,但不刪除此隊列的頭元素。這種方法不一樣於peek(),若是隊列爲空,它拋出一個異常
*
* @return 返回隊列的頭元素
* @throws NoSuchElementException 若是隊列爲空,它拋出一個NoSuchElementException異常
*/
E element();複製代碼
/**
* 檢索,但不刪除此隊列的頭元素, 若是隊列空,返回null
*
* @return 返回隊列的頭元素, 或者隊列爲空返回null
*/
E peek();複製代碼