一、简介
队列是一种特殊的线性表,先进先出的数据结构,即队列有序,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
还未写完,晚上继续写。
二、父类
三、增加元素
/** * 将指定的元素插入此队列能否立即这样做,在不违反容量限制,返回{@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();