Queue

作者: Cajesse佳泽 | 来源:发表于2017-04-21 13:55 被阅读0次

A collection designed for holding elements prior to processing.

一个设计用来保存需要预先处理元素的Collection

由此看来. 队列不一定是先进先出. 只是大部分队列的优先级标准取决于队列元素入队的顺序.

Queue接口有6个函数. 我认为应该把他们分成两类.一类抛出异常. 一类不抛出异常.

抛出异常

入队: boolean add(E e) 入队失败抛出异常
出队: E remove() 出队失败抛出NoSuchElementException异常
队头: E elements() 队列为空抛出 NoSuchElementException

不抛出异常

入队: boolean offer(E e) 入队失败只返回false
出队: E poll() 出队失败(队列为空)返回null
队头: E peek() 队列为空返回 null

另外值得一提的是BlockingQueue 中还有一对方法
入队: void put(E e) 等到队列可用再入队,没有返回值,等待被打断时抛出InterruptedException
出队: E take() 等到队列可用再出队,死等.直到被打断.

相关文章

网友评论

      本文标题:Queue

      本文链接:https://www.haomeiwen.com/subject/kojdzttx.html