队列是一种特殊的线性表,先进先出的数据结构,即队列有序,它只容许在表的前端(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();复制代码