Queue

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() 等到队列可用再出队,死等.直到被打断.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue...
    天空下天的月亮阅读 4,421评论 0 2
  • 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queu...
    H_Man阅读 3,365评论 0 4
  • Queue 是 java中的一个接口,在java.util包下面,意在实现数据结构中的队列,主要包含以下几种接口方...
    captain_fu阅读 4,371评论 0 0
  • Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue...
    卖狗的苦瓜阅读 4,966评论 0 3
  • 一、技术选型 MQ适用于消息堆积,消费端处理不过来;两点之间运行生命周期不同情况;JMS支持5种消息类型,为什么不...
    commence阅读 4,359评论 0 1

友情链接更多精彩内容