java.util.Queue用法

原文地址:
http://www.cnblogs.com/linjiqin/archive/2013/05/30/3107656.html

因为对poll和offer比较陌生,所以复习下队列的用法。完全复制过来,方便自己查看。

队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。

在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。

在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。

Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用element()或者peek()方法。(poll是查看且移除,element或peek只是查看,不移除元素。实例效果见:http://www.runoob.com/java/data-queue.html)

值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。

你可能感兴趣的:(Java基础)