Java集合框架(五)Queue接口

Queue(队列)接口继承自Collection,用来表示内部元素具有先后顺序的集合。除了基本的集合操作外,队列还提供了其他插入、删除和检查操作。Queue接口定义如下:

  public interface Queue<E> extends Collection<E> {
        E element();
        boolean offer(E e);
        E peek();
        E poll();
        E remove();
  }

每一个队列相关方法都提供了两种形式:一种如果操作失败抛出异常,另一种如果操作失败返回一个特殊值(nullfalse)。 Queue接口结构如下图所示:

队列接口结构

队列通常是,但不是必须,以FIFO(先进先出)的方式排列元素。优先级队列除外,它是根据元素的值来排序(此句话待验证)。无论使用哪种排序方式,队列的头元素始终是那个通过remove或者poll移除的元素。
有些队列实现是有边界限制的,有些没有。
队列实现类通常不允许插入null元素,而LinkedList是个例外,由于某些历史原因,它允许插入null元素。但你应该杜绝这么做,因为null被用作pollpeek的特殊返回值。
队列实现类通常不会定义基于元素版本的equalshashCode方法,而是继承来自Object的实现。
Queue接口没有定义通常用于并发编程的阻塞队列方法,而这些方法(通常是等待元素出现或者有空间可用等),定义于Queue的子接口java.util.concurrent.BlockingQueue

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • Queue Queue继承自 Collection,我们先来看看类结构吧,代码量比较少,我直接贴代码了 从方法名上...
    Anonymous___阅读 4,348评论 0 1
  • 概述 Java集合框架由Java类库的一系列接口、抽象类以及具体实现类组成。我们这里所说的集合就是把一组对象组织到...
    absfree阅读 5,036评论 0 10
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,386评论 0 3
  • 一、要点复习 1.执行中的两大问题 内部问题: 梳理不清:方法论缺失。 动力不足:不想做、累了、找不到目的和意义、...
    铁马阅读 2,890评论 0 2